ES 6のasync/awaitは何ですか?


async/awaitとは何ですか?async関数は、Generator関数のシンタックス糖であり、Promises上に確立され、Promiseベースの既存のすべてのAPIと互換性がある.
1、Async-非同期関数を宣言します(async function someName(){...}).
  • は、従来の関数を自動的にPromiseに変換する、戻り値もPromiseオブジェクト
  • である.
  • は、asyncメソッドで指定するコールバック関数
  • を実行するのは、then関数内部の非同期動作のみである.
  • 非同期関数の内部にはawait
  • を用いることができる.
    2、Await—非同期の機能実行を一時停止する(var result = await someAsyncCall())
  • は、Promise呼び出しの前に配置する、awaitは、Promiseが完了し、結果
  • が戻るまで他のコードを待つように強制する.
  • Promiseとのみ使用可能であり、コールバック
  • とは適用されない.
  • は、asyncの関数の内部でのみ使用できます.
    What are the async and await ?
    The async function, it's a syntactic sugar of Geneartor function, it is built on Promise , and is compatible with all existing Promise-based API.
    1、The async -- declare a async function ( async function someName(){...} )
  • Automatically convert regular functions to Promise , and the return value is also a Promise object.
  • Only after asynchronous operation inside async function is executed, then execute the callback function specified by then method.
  • we can use await inseide asynchronous function

  • 2、The await -- Paused the asnychronous function execution ( var result = await someAsyncCall() )
  • Placed before the Promise Call, the await forced other codes to wait until the Promise completes and return the result.
  • Can only be used with Promise toghter, it's not suitable for callback
  • Can only be used inside async function