asyncとawaitは理解します.

991 ワード

asyncとawait  エス7の特性です.プロミスから出てきた新語法糖です.  彼は非同期操作を同期操作に変更します.コードはより優雅に見えます. 
直接例を見る:



    
    Title





    a()

    async function a() {
        await b()
        console.log(111);

        setTimeout(async () => {
            console.log('aaaa');
        }, 1000)
    }

    function b() {

        console.log('b1');
        return new Promise(resolve => {
            setTimeout(function () {
                console.log('bbbbb');
                resolve();
            }, 2000)
            c();
        })
    }

    function c() {
        console.log('c1');
        return new Promise(resolve => setTimeout(function () {
            console.log('cccc');
        }, 1000))
    }

多層関数がネストされている時はasync await  一番近い階の操作を待つだけです.各階の待つ必要があるなら、各階にasyncとawaitを追加してください.
また、Generator関数(手動トリガ(next(方法)が必要です.
PS:  await  後はpromiseオブジェクトと一緒にしなければならないが、async関数はpromiseオブジェクトを返します.