7. JavaScriptの-プロミスパラレルおよびシリアル

パラレル約束

(|解決拒否)プロミスオブジェクトを返します。すべての約束をした後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 
// 最後の実行

 

おすすめ

転載: www.cnblogs.com/xiaole9924/p/11842180.html