なぜ約束の約束コア

なぜ約束を使用します

1.純粋なコールバック関数を使用します

最初のコールバック関数を指定し、非同期タスクを開始

コールバック関数を指定する。1. Aの方法は、より柔軟です

あなたは、中および後に、前のタスクを実行することができます

2.サポートチェーン呼び出し、問題を解決するためのコールバック地獄

コールバック関数が入れ子になって、コールバックの下位層に依存して、コールバック関数の1つの結果:地獄コールバックとは何ですか

ソリューション。約束チェーン

究極のソリューション非同期/のawait

非同期関数リクエスト(){
   試み{ 
    CONST結果 = のawait dosongthing()
    CONST newResult = のawait doThirdThing(結果)
    CONST finalResult = のawait doThirdThing2(newResult)
  } キャッチ(エラー){ 
    failureCallback(エラー)
  } 
}

どのように約束を使用するには?構文把握(API:前面および背面インターフェイス)

機能を考えると、それは、APIの定義です。それは文法であるため、

 

1.Promiseコンストラクタ:プロミス(excutor){}

excutor関数は:=> {}(拒否、解決)同期を実行します

解決機能:我々は、関数値を呼び出し、成功の内部定義=> {}

機能を拒否:我々は関数呼び出し内部失敗理由を定義=> {}

説明:excutor文が同期呼び出し直ちに約束を行います、非同期操作をアクチュエータで行います

 

2.Promise.prototype.then方法(onResolved、onRejected)=> {}

onResolved機能:成功したコールバック関数(値)=> {}

onRejected関数:不良コールバック関数(理由)=> {}

戻り値新しい約束のオブジェクトのための前提条件//チェーンの呼び出し

 

3.Promise.prototype.catch方法(onRejected)=> {}

onRejected関数:不良コールバック関数(理由)=> {}

相当次いで(ヌル、onRejected)=> {}

新しいプロミス((A、B)=> { 
  たsetTimeout(() => {
     // ( 'OK') 
    B( '失敗' 
  }、 0 
})。次に、( => { 
    にconsole.log( ' onResolved1' 、値)
  } 
)。キャッチ
  理由 => { 
    にconsole.log( 'onReject' 理由)
  } 

 

4.Promise.all方法(約束)=> {}

約束:n個を備えた約束配列

//約束オブジェクトを返します

3つの要求は成功した唯一のショーの成功です

5.Promise.race方法(約束)=> {}

約束:n個を備えた約束配列

最初の実行で最初の完全な表情

おすすめ

転載: www.cnblogs.com/-constructor/p/12219802.html