使用.then()
方法链式查询承诺并不复杂。下面是一个示例代码,展示了如何使用.then()
方法链式查询承诺:
// 创建一个返回承诺的函数
function fetchData() {
return new Promise((resolve, reject) => {
// 模拟异步请求
setTimeout(() => {
resolve('数据已成功获取');
}, 2000);
});
}
// 使用.then()方法链式查询承诺
fetchData()
.then((data) => {
console.log(data); // 输出:数据已成功获取
return '处理后的数据';
})
.then((processedData) => {
console.log(processedData); // 输出:处理后的数据
// 返回一个新的承诺
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('新的数据');
}, 2000);
});
})
.then((newData) => {
console.log(newData); // 输出:新的数据
})
.catch((error) => {
console.log(error); // 错误处理
});
在上面的代码中,我们首先定义了一个返回承诺的fetchData
函数,模拟一个异步请求。然后,我们使用.then()
方法链式查询承诺。
在第一个.then()
中,我们接收到了成功的响应数据,并输出到控制台。然后,我们返回一个新的数据作为处理后的数据。
在第二个.then()
中,我们接收到了处理后的数据,并输出到控制台。然后,我们返回一个新的承诺,模拟另一个异步请求。
在第三个.then()
中,我们接收到了新的数据,并输出到控制台。最后,我们使用.catch()
方法来处理可能发生的错误。
通过这种方式,我们可以轻松地使用.then()
方法链式查询承诺,处理异步操作的结果。