Promise的工作原理

2022-09-02 03:48:15 字數 807 閱讀 2475

一、什麼是promise

(一)promise是es6新增的解決非同步(非阻塞)中存在的問題而產生的建構函式

二、promise中的三種狀態

pending(進行中)  resoved(成功後)  rejected(失敗後)

三、promise.prototype.then : 當promise的狀態返回resove時,則呼叫then()方法

promise.prototype.catch :當promise的狀態返回reject時,則呼叫catch()方法

四、構建promise的格式

new promise(function(resolve,reject)else).then(function()).catch(function(){

執行語句;

五、promise的靜態方法:promise.all()

在all中會呼叫多個promise物件,當被呼叫的所有promise都返回resolve時,all方法返回resolve(),只要被呼叫的所有promise中有乙個返回reject時,all方法返回reject

六、jsonp的原理

跨域原理 :

1、通過動態建立script標籤  新增到body中

2、設定script標籤的src值為乙個介面路徑

3、介面上帶乙個引數,表示**函式,通過這個**函式可以獲取伺服器資料

jsonp介面和ajax介面區別 : 

jsonp介面:

1、介面上必須攜帶乙個引數  表示**函式   

2、訪問jsonp的介面得到的資料是  object 型別  使用時不需要進行型別轉換

簡單promise實現原理

promise可以有三種狀態,分別是pedding fulfilled rejected pending promise物件例項建立時候的初始狀態 fulfilled 可以理解為成功的狀態 rejected可以理解為失敗的狀態 構造乙個promise例項需要給promise建構函式傳入乙個函式。傳入...

Promise原理分析二

note promise原理分析一 promise.reject reason 方法返回乙個被拒絕的promise物件。語法promise.reject new error something wrong then null,err promise.reject new error somethin...

Promise原理與實現

var promise function if this instanceof promise return new promise resolver var self this 儲存this self.callbacks 儲存onresolve和onreject函式集合 self.status p...