为了账号安全,请及时绑定邮箱和手机立即绑定

js怎样确定两个异步函数的执行顺序

js怎样确定两个异步函数的执行顺序

繁星coding 2019-02-19 13:16:52
const asyncFunction = function() {  return new Promise(function(resolve, reject) {    resolve('promise');  });};asyncFunction().then(value => console.log(value));setTimeout(() => { console.log('settimeout') }, 0);输出// promise// settimeout请问两个都是异步的函数,为什么setTimeout函数后执行?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

Promise 是microtask 队列
而setTimeout属于 macrotask 队列
在一个Tasks执行之后会立刻执行microtask队列,而后执行macrotask队列
macrotask永远在 microtask 之后执行

查看完整回答
反对 回复 2019-02-23
  • 1 回答
  • 0 关注
  • 577 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号