パラレル約束
(|解決拒否)プロミスオブジェクトを返します。すべての約束をした後Promise.allを終了します。
最近の開発プロジェクトで、その他のインターフェイスは効果をlodingキャンセル、ページ全体をリフレッシュするためのデータを取得する必要があります
1 // 项目中请求接口 2 機能getShowProject(決意、リジェクト){ 3 $アヤックス({ 4 URL: `$ {API} / rrz /部材/ showProjectById`、 5 タイプ: 'get'が、 6つの データ:{APPID :APPID}、 7つの 成功:関数(RES){ 8 た場合(res.result == '成功' ){ 9 [ 'LISTBY'] =集めるres.data; 10 決意(); 11 } 12 } 13 }); 14 } 15 機能getProjectPic(解決、拒否){ 16 ... 17 } 18である 関数projectRelation(解決、拒否){ 19 ... 20 } 21である 関数queryProjectDynamicS(解決は、拒否){ 22である ... 23である } 24 機能showProjectLoveValue(解決拒否){ 25 ... 26れる } 27 機能getAppProjectDonorComment(解決、拒否){ 28 ... 29 } 30 // すべてのインタフェースページリフレッシュする要求の完了を待つ 31である VAR A1 =新しい約束(getShowProject)。 32 VaRの A2 = 新しいプロミス(getProjectPic)。 33 VaRの A3 = 新しいプロミス(projectRelation)。 34 VaRの A4 = 新しいプロミス(queryProjectDynamicS)。 35 VaRの A5 = 新しいプロミス(showProjectLoveValue)。 36 VaRの A6 = 新しいプロミス(getAppProjectDonorComment)。 37 Promise.all([A1、A2、A2、A3、A4、A5、A6])を(関数(){ 38 情報= {データ:}ギャザー 39 getDetail()。 40 はconsole.log( '図ローディング効果が消える' ); 41 })
プロミスシリアル
プロジェクトの実際の動作では、例えば、シリアル非同期実行のメソッドを呼び出す場合に使用される
三つの方法、方法、方法2があり、三つの方法は、2つの方法を実行した後に実行される、実行方法2の後の完全な方法を実行するために必要3つの方法は、次のように約束、簡単なシミュレーションアプローチがある実装できます。
関数1(){ にconsole.log( 11111 )。 } 関数2つ(){ にconsole.log( 22222 )。 } 関数3(){ にconsole.log( 33333 )。 } 関数fiveP(FUNC){ 戻り 、新たな約束(関数(決意、リジェクト){ FUNC(); 解決(); }); } p.then(fiveP(1)) .then(fiveP(3)) .then(fiveP(二)) .then(関数(結果){ にconsole.log( '最后执行' + 結果)。 })。 // 実行結果 // 1111 // 3333 // 2222 // 最後の実行