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 的状态和传递结果或错误信息。