首頁 >web前端 >前端問答 >promise有哪些函數

promise有哪些函數

DDD
DDD原創
2023-11-01 13:40:161194瀏覽

promise函式有Promise建構子、then函式、catch函式、finally函式、all函式、race函式等等。詳解介紹:1、Promise建構函數,接受一個函數為參數,函數有兩個參數,分別是resolve和reject;2、then函數,用來指定Promise狀態改變時的回呼函數;3、catch函數,用於指定Promise發生錯誤時的回呼函數等等。

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函數等,根據實際需求選擇使用。

以上是promise有哪些函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn