JavaScript Promise 是异步编程的一种解决方案,它表示一个尚未完成但预期在未来完成的操作的结果。Promise 对象有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。通过 Promise,我们可以将回调函数的嵌套改为链式调用,从而提高代码的可读性和可维护性。
使用 Promise 首先需要创建一个 Promise 对象,通常可以通过 Promise.resolve() 或 Promise.reject() 方法来创建。然后,我们需要为 Promise 对象分别指定成功和失败的回调函数,即 .then() 和 .catch() 方法。
例如,下面是一个使用 Promise 异步获取数据的示例:
function fetchData(url) {
return new Promise((resolve, reject) => {
fetch(url)
.then(response => resolve(response.json()))
.catch(error => reject(error));
});
}
fetchData('https://api.example.com/data')
.then(data => console.log(data))
.catch(error => console.error(error));
要学习 Promise,可以参考以下资源:
- 《JavaScript Promise 完全指南》:https://segmentfault.com/a/1190000017058988
- 《深入理解 JavaScript Promise》:https://www.yuque.com/zhaozhiming/promise