ホームページ  >  記事  >  ウェブフロントエンド  >  ES6、ES7の非同期処理の詳細説明(コード例)

ES6、ES7の非同期処理の詳細説明(コード例)

不言
不言転載
2018-11-17 15:49:092337ブラウズ

この記事では、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);
    })
}

ES7 Async/Await 処理方法

async はこの関数内に非同期操作があることを示し、関数内には必ず await が記述されます

awit が発生すると、関数は実行を停止し、非同期操作が終了するのを待ってから、次のステートメントを実行します。

非同期操作によって取得される結果は、resolve コールバック関数のパラメーターの戻り値です。
Exception は、reject コールバック関数のパラメーターを通じて取得されます。
例外をキャッチする場合、例外を取得するには、多くの場合、async 関数本体で try catch メソッドを使用する必要があることに注意してください。 : await は何を待っているのでしょうか? それは、解決コールバック関数でデータを返す、promise です。

以上がES6、ES7の非同期処理の詳細説明(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。