この記事では、ES6 と ES7 の非同期処理の詳細な説明 (コード例) を紹介します。必要な方は参考にしてください。
ES6/ES7 の非同期処理を一度にマスターする
シナリオを想定して、ガールフレンドが眠りに落ちて買い物に行くのを待ちます。5 秒以上かかる場合は、待たないでください。 ##ES6 Promise処理メソッドPromise書き込みメソッド Promisechain呼び出しメソッド、非同期処理が成功した場合のみ、.then(data => {}) を使用して、非同期処理が成功した後のデータを取得します。
非同期処理でエラーが発生した場合、 .then(err => {}) が呼び出され、例外が発生します。 .then( data => {}, err => {}) メソッド内の 2 つのメソッドです。パラメータとしてのコールバック関数です。
または、2 番目の書き方もあります。then(data => {}) ).catch(err => {})
function waiting (ms) { return new Promise ( (resolve, reject) => { if(ms > 5000) { reject('long time') } else { setTimeout(() => { resolve(ms); }, ms) } }) } function main () { waiting(3000).then( success => { console.log(success); }, err => { console.log(err) }) } // 或者 function main() { waiting(3000).then(data => { console.log(data) }).catch(err => { console.log(err); }) }
非同期操作によって取得される結果は、resolve コールバック関数のパラメーターの戻り値です。
Exception は、reject コールバック関数のパラメーターを通じて取得されます。
例外をキャッチする場合、例外を取得するには、多くの場合、async 関数本体で try catch メソッドを使用する必要があることに注意してください。 : await は何を待っているのでしょうか? それは、解決コールバック関数でデータを返す、promise です。
以上がES6、ES7の非同期処理の詳細説明(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。