Promise是乙個建構函式

2022-06-22 03:42:10 字數 334 閱讀 4931

建構函式可以生成物件。

此建構函式接受乙個函式作為引數。

此函式包含兩個引數:

這兩個函式是js內部建立好的,直接用。

resolve

當非同步操作成功時,resolve函式被呼叫

把非同步操作的結果作為引數傳遞給promise建構函式。

使得promise物件的狀態發生改變:pending ->resolved。

reject

當非同步操作失敗時,reject函式被呼叫

把非同步操作存在的錯誤,傳遞給promise建構函式。

使得promise物件的狀態發生改變:pending ->rejected。

手寫乙個Promise

js物件導向 在js中一切皆物件,但js並不是一種真正的物件導向 oop 的語言,因為它缺少類 class 的概念。雖然es6引入了class和extends,使我們能夠輕易地實現類和繼承。但js並不存在真實的類,js的類是通過函式以及原型鏈機制模擬的,本小節的就來 如何在es5環境下利用函式和原型...

手寫乙個promise

promise a 規範 注 以下 沒有通過promises aplus tests的全部測試,但基本功能還是全的 測試結果 864 passing,8 failing 另外可以參考這個指南中的 promise實現 promise resolve 100 規範 class mypromise con...

手動封裝乙個Promise

本章來自己開發乙個promise實現,提公升非同步程式設計的能力。首先宣告定義類並宣告promise狀態與值,有以下幾個細節需要注意。executor為執行者 當執行者出現異常時觸發拒絕狀態 使用靜態屬性儲存狀態值 狀態只能改變一次,所以在resolve與reject新增條件判斷 因為 resolv...