JavaScript Promises 是一种用于异步编程的解决方案,它们允许开发者以同步代码的方式编写异步代码。
基本概念
Promises 代表了一个可能尚未完成、但是将来会完成的操作。一个 Promise 有三种状态:
- Pending: 初始状态,既不是成功,也不是失败状态。
- Fulfilled: 意味着操作成功完成。
- Rejected: 意味着操作失败。
创建 Promise
let promise = new Promise((resolve, reject) => {
// 在这里执行异步操作
if (/* 操作成功 */) {
resolve(result);
} else {
reject(error);
}
});
使用 Promise
你可以使用 .then()
方法来处理成功的结果,使用 .catch()
方法来处理失败的结果。
promise.then(result => {
// 处理成功的结果
}).catch(error => {
// 处理错误
});
示例
假设我们有一个异步的 API 请求,我们可以这样使用 Promise:
fetch('/api/data')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Error:', error);
});