原题:

async function async1() {
console.log("async1 start");
await async2();
console.log("async1 end");
}
async function async2() {
console.log("async2");
}
console.log("start");
setTimeout(() => {
console.log("timeout");
}, 0);
async1();
console.log("processing");
new Promise((resolve, reject) => {
for (let index = 0; index < 2; index++) {
console.log(index);
resolve();
}
})
.then3(function () {
console.log("promise1");
})
.then4(() => {
console.log("promise2");
});
console.log("end");

我的问题出现在 await async2()的微任务执行,async2是另一个async函数;

出错后,我将思路转换成 async转为promise写法:

 function async11() {
return new Promise((resolve) => {
console.log("async11 start");
resolve(async2());
}).then2(() => {
console.log("async11 end");
});
}
// async2 的promise写法为
function async22() {
return new Promise((resolve) => {
resolve(console.log("async22"));
}).then1(() => {
console.log("async22 micro"); //这里是校验微任务执行了,题目中为空语句
});
}

主任务队列执行完毕,当前微任务队列then1执行,放入新/微任务then2,当前微任务队列then3执行,放入新/微任务then4;微任务产生了微任务队列。

最新文章

  1. Mysql事务探索及其在Django中的实践(一)
  2. libsvm简介和函数调用参数说明
  3. 【bzoj1923】 Sdoi2010—外星千足虫
  4. 从网络上下载文件到sd卡上
  5. font-size:100%有什么作用
  6. [vijos P1083] 小白逛公园
  7. mac ruby rails安装(使用rvm)
  8. 精确到秒的JQuery日期控件
  9. hibernate 3.* C3P0配置 以及为什么需要连接池!
  10. github继续折腾
  11. JavaScript中函数参数的按值传递与按引用传递(即按地址传递)
  12. 关于javascript中setTimeout()和clearTimeout()的疑惑。
  13. NPOI兼容 excel2003,2007版本
  14. Linq skip skipwhile take takewhile
  15. sql server中单引号拼接字符串(书写错误会出现错误&quot;浮点值 XXXX 超出了计算机表示范围(8 个字节)。“XX”附近有语法错误。&quot;)
  16. python pymsql的用法 180903
  17. Day9 Python基础之函数基础(七)
  18. Maven classifier 元素妙用
  19. jquery改变元素上下排列的顺序
  20. oracle vm virtualbox 保存虚拟系统,重装后使用

热门文章

  1. Windows 串口代码
  2. kali linux生成密码字典方法
  3. Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column &#39;xxx&#39; in &#39;where clause&#39;
  4. Prufer序列 学习笔记
  5. 基于docker的spark分布式与单线程、多线程wordcount的对比实验
  6. 【狂神说】SpringMVC笔记
  7. API 文档
  8. 获取select的选中的值
  9. 关于MounRiver编译器配置的若干问题
  10. iOS开发之各机型屏幕大小与键盘高度整理