promise函數(shù)有Promise構(gòu)造函數(shù)、then函數(shù)、catch函數(shù)、finally函數(shù)、all函數(shù)、race函數(shù)等等。詳解介紹:1、Promise構(gòu)造函數(shù),接受一個函數(shù)作為參數(shù),該函數(shù)有兩個參數(shù),分別是resolve和reject;2、then函數(shù),用于指定Promise狀態(tài)改變時的回調(diào)函數(shù);3、catch函數(shù),用于指定Promise發(fā)生錯誤時的回調(diào)函數(shù)等等。
本教程操作系統(tǒng):Windows10系統(tǒng)、Dell G3電腦。
Promise是JavaScript中一種用于處理異步操作的對象。它提供了一種更加優(yōu)雅和可靠的方式來處理異步代碼,避免了回調(diào)地獄的問題。下面是Promise中常用的幾個函數(shù):
Promise構(gòu)造函數(shù):Promise構(gòu)造函數(shù)接受一個函數(shù)作為參數(shù),該函數(shù)有兩個參數(shù),分別是resolve和reject。resolve函數(shù)用于將Promise的狀態(tài)從pending變?yōu)閒ulfilled,并將結(jié)果傳遞給后續(xù)的then函數(shù)。reject函數(shù)用于將Promise的狀態(tài)從pending變?yōu)閞ejected,并將錯誤信息傳遞給后續(xù)的catch函數(shù)。
then函數(shù):then函數(shù)是Promise對象的方法,用于指定Promise狀態(tài)改變時的回調(diào)函數(shù)。then函數(shù)接受兩個參數(shù),分別是成功時的回調(diào)函數(shù)和失敗時的回調(diào)函數(shù)。成功時的回調(diào)函數(shù)會接收到Promise的返回值作為參數(shù),而失敗時的回調(diào)函數(shù)會接收到錯誤信息作為參數(shù)。
catch函數(shù):catch函數(shù)是Promise對象的方法,用于指定Promise發(fā)生錯誤時的回調(diào)函數(shù)。catch函數(shù)接受一個參數(shù),即錯誤時的回調(diào)函數(shù)。它相當(dāng)于調(diào)用then函數(shù)的第二個參數(shù)。
finally函數(shù):finally函數(shù)是Promise對象的方法,用于指定Promise無論成功還是失敗都會執(zhí)行的回調(diào)函數(shù)。finally函數(shù)不接受任何參數(shù)。
all函數(shù):all函數(shù)是Promise對象的靜態(tài)方法,用于將多個Promise對象包裝成一個新的Promise對象。當(dāng)所有的Promise都變?yōu)閒ulfilled狀態(tài)時,新的Promise對象才會變?yōu)閒ulfilled狀態(tài),并將所有Promise的返回值作為一個數(shù)組傳遞給then函數(shù)。如果任意一個Promise變?yōu)閞ejected狀態(tài),則新的Promise對象會立即變?yōu)閞ejected狀態(tài),并將第一個被rejected的Promise的錯誤信息傳遞給catch函數(shù)。
race函數(shù):race函數(shù)是Promise對象的靜態(tài)方法,和all函數(shù)類似,它也是將多個Promise對象包裝成一個新的Promise對象。但是不同的是,race函數(shù)只要有一個Promise變?yōu)閒ulfilled或rejected狀態(tài),新的Promise對象就會變?yōu)橄鄳?yīng)的狀態(tài),并將第一個完成的Promise的返回值或錯誤信息傳遞給后續(xù)的then或catch函數(shù)。
這些是Promise中常用的幾個函數(shù),通過它們可以更方便地處理異步操作,使代碼更加簡潔和可讀。當(dāng)然,Promise還有其他一些函數(shù),如resolve函數(shù)、reject函數(shù)、allSettled函數(shù)等,根據(jù)實(shí)際需求選擇使用。