开发者社区> 问答> 正文

setTimeOut,Promise, async/await的区别

setTimeOut,Promise, async/await的区别

展开
收起
问答小能手! 2021-01-22 20:25:44 1655 0
1 条回答
写回答
取消 提交回答
  • 来自昆仑山,真名陆离。

    考察这三者在事件循环中的区别,事件循环中分为宏任务队列和微任务队列。

    1.settimeout的回调函数放到宏任务队列里,等到执行栈清空以后执行;
    2.promise.then里的回调函数会放到微任务队列里,等宏任务里面的同步代码执行完再执行;
    3.async 函数返回一个 Promise 对象,当函数执行的时候,一旦遇到 await 就会先返回,等到触发的异步操作完成,再执行函数体内后面的语句。可以理解为,是让出了线程,跳出了 async 函数体。

    2021-01-22 20:26:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载