在 javascript 中,promise 是 es6 中引入的處理異步操作的技術之一。如果您正在使用 settimeout 方法獲取數(shù)據(jù)或等待計時器,則更容易管理且更具可讀性。
什么是 Promise?
promise 是一個對象,代表異步操作的最終完成/失敗及其結果值。它可以處于三種狀態(tài)之一。
1.Pending:初始狀態(tài),Operation is正在進行,兩者都不是
滿足或拒絕。
2.Fulfilled: 操作成功完成。
3.拒絕:操作失敗。
句法
首先,我們要使用構造函數(shù)通過new Promise()創(chuàng)建一個Promise對象,這稱為執(zhí)行器。它需要一個帶有兩個參數(shù)的函數(shù):resolve()和reject().
當操作成功時執(zhí)行resolve。否則,操作失敗時執(zhí)行reject。
消費過程:
因此,我們無法直接訪問 Promise,為了處理 Promise 結果,我們必須使用 .then() 和 .catch() 方法
.then() – 用于處理 Promise 被解析(成功完成)或拒絕(失敗)后的結果。
.catch() – 當 Promise 被拒絕或者執(zhí)行中出現(xiàn)錯誤時,會調用該方法。該方法用于處理錯誤。