前言
对于初步学习JavaScript异步操作的同学来说,then方法肯定是必不可少的基础知识。可以说,学会then方法,就掌握了JavaScript异步编程的大门。
一、什么是then方法
then方法是Promise对象提供的最常用的方法之一。该方法被定义在Promise.prototype中,用于为Promise实例添加状态改变时的回调函数,从而实现异步编程。
二、then方法的使用
then方法有两个参数,第一个参数是状态变为resolved时的回调函数,第二个参数(可选)是状态变为rejected时的回调函数。
function fetch(url) { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = () => { if (xhr.readyState === 4) { if (xhr.status === 200) { resolve(xhr.responseText); } else { reject(new Error(xhr.statusText)); } } }; xhr.send(null); });}fetch('http://jsonplaceholder.typicode.com/posts/1') .then(response => response.json()) .then(data => { console.log(`Title: ${data.title}`); }) .catch(error => { console.log(error); });
通过上述代码示例,可以看到我们通过Promise的方式发送Ajax请求,并使用then方法处理返回值。fetch函数返回一个Promise对象,在调用fetch函数后,我们可以使用then方法接收到Promise的状态变化,从而做出相应的回应。
三、总结
掌握then方法,不仅仅是为了使用Promise实现异步操作,还是为了更好的理解JavaScript编程中的异步编程方式。希望本文对初学者有所帮助。