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