异步编程技术让你的程序可以在执行一个可能长期运行的任务的同时,继续对其他时间做出反应而不必等待任务完成。与此同时,你的程序也将会在任务完成后显示结果。
Promise 是现代 JavaScript 中异步编程的基础,是一个由异步函数返回的可以向指示当前操作所处的状态的对象。
在 Promise 返回给调用者的时候,操作往往还没有完成,但 Promise 对象可以让我们操作最终完成时对其进行处理(无论成功还是失败)。
Promise 有三种状态:
- 待定 (pending):初始状态,既没有被兑现,也没有被拒绝。这是调用 fetch() 返回 Promise 时的状态,此时请求还在进行中。
- 已兑现(fulfilled):意味着操作成功完成。当 Promise 完成时,它的 then() 处理函数被调用。
- 已拒绝(rejected):意味着操作失败。当一个 Promise 失败时,它的 catch() 处理函数被调用。