ES 6のPromise説明async/awaitの使用

1261 ワード

1.promiseはコールバック関数に代わるソリューションです.従来のコールバックの必要性は,多層があればネストして使用する必要があるがpromiseはこの状況を変え,従来のネストから通常の順序実行方式になり,次の実行をコールバック関数の内部に書く必要がない.promiseでよく使われます.reject resloveはthenの後のcatchについてrejectまたはresloveが実行されると、後のpromise状態は変わりません.コードは次のとおりです.
   function test(){
       //promise       ,          。
       //           ,reslove           ,reject      
       var promise = new Promise(function(reslove,reject){
            reslove(true);
       });
       return promise;
   }

   //     
   test().then(function(value){
        //   value      reslove    
        retrun new Promise(function(reslove,reject){
             //             
             if(value){
                reslove("  ");
             }else{
                reject("  ");
             }
        });
   }).catch(function(val){
        //           
   }).then(function(value){
        //                
   });

2.async/awaitシンタックスはasyncによって非同期関数として指定することができ、非同期関数を実行してからawaitを使用することができる.awaitの役割は、thenメソッドの代わりにresolveの値を直接返すことで、より便利に使用できます.
//例async function demo(){var result=await test()//ここでは戻り値return resultを直接受信できます//demo関数を呼び出す場合もawaitを使用してresultという戻り値を受信する必要があります.}
注意:returnがawaitの値を持つ場合、受信した関数も銅ドラムawaitで受信する必要があります.そうしないと、受信したデータは失敗します.