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