promise 以及 saync await實現同步

    function doubleAfter2seconds(num) {
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve(2 * num)
            }, 200);
        } )
    }
    var  html = 1;
    async function testResult() {
        let result = await doubleAfter2seconds(1);
        html = result
        return result
    }
    var a = testResult();
    var hh = "";
    a.then(function (res) {
        hh = res
        console.log(hh)
    })

之前也接觸過異步等待問題,但是一段時間不接觸都忘記了。也是試了好久才整理好自己的思路。果然,學技術還是要有耐心。

在上面的代碼中,我是先return一個異步操作,當函數調用resolve的時候,會把結果賦給result,await的作用就是在此等候這個異步操作完成才執行以下代碼。而如果在asyn裏面return結果,那麼我們將得到一個promise對象,所有需要在最後使用then()方法進行結果處理

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章