美文网首页前端开发那些事儿
promise、async和await的执行顺序

promise、async和await的执行顺序

作者: _皓月__ | 来源:发表于2021-02-01 15:28 被阅读0次

    例子是抄网上其他文章的,之所以写出来是因为,他们给出的结果都是:async1 end在promise2之后输出,但是我用火狐以及chrome以及node执行出来的结果是相反的,难道是版本不对?反正我测试的结果是这样的,感觉他们有点误人子弟,所以写出来。

    async function async1() {
      console.log("async1 start");
      await async2();
      console.log("async1 end");
    }
    
    async function async2() {
      console.log("async2");
    }
    
    console.log("script start");
    
    setTimeout(function() {
      console.log("setTimeout");
    }, 0);
    
    async1();
    
    new Promise(function(resolve) {
      console.log("promise1");
      resolve();
    }).then(function() {
      console.log("promise2");
    });
    
    console.log("script end");
    
    script start
    async1 start
    async2
    promise1
    script end
    async1 end
    promise2
    setTimeout
    

    相关文章

      网友评论

        本文标题:promise、async和await的执行顺序

        本文链接:https://www.haomeiwen.com/subject/zmojtltx.html