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

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 关注
  • 550 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信