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()方法进行结果处理

 

 

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