Promise 的特點 - daniel-qa/Vue GitHub Wiki
Promise 的特點
Promise 的特点
-
内置:Promise 是 ECMAScript 6(ES6)引入的标准功能,所有现代浏览器和 Node.js 环境都原生支持它。
-
状态管理:Promise 有三种状态:待定(Pending)、已解决(Fulfilled)、已拒绝(Rejected)。
-
链式调用:可以通过 then() 和 catch() 方法链式处理结果和错误,使得代码更清晰。
-
错误处理:可以集中处理错误,减少回调地狱的情况。
-
例子
创建一个 Promise 的简单示例:
javascript
const myPromise = new Promise((resolve, reject) => {
// 模拟异步操作
setTimeout(() => {
const success = true; // 模拟成功或失败
if (success) {
resolve('成功!');
} else {
reject('失败!');
}
}, 1000);
});
// 使用 Promise
myPromise
.then(result => {
console.log(result); // 输出: 成功!
})
.catch(error => {
console.error(error); // 输出: 失败!
});
总结
Promise 是 JavaScript 的一部分,用于处理异步操作。它并不是一个外部库或套件,而是语言本身的一种特性。
resolve 和 reject
-
resolve(value):用于将 Promise 的状态从“待定”(Pending)更改为“已解决”(Fulfilled),并将 value 作为成功的结果传递下去。
-
reject(reason):用于将 Promise 的状态从“待定”(Pending)更改为“已拒绝”(Rejected),并将 reason 作为失败的原因传递下去。
-
处理结果:
使用 then() 方法处理成功的结果。
使用 catch() 方法处理失败的原因。
- 总结
resolve 和 reject 是 Promise 中的关键方法,用于改变 Promise 的状态和传递结果或错误信息。