|
1
2
如果你有
让我们为涉及的承诺命名。这基本上是相同的脚本,但所有相关promise都有变量名:
尽管
另一方面,
如果你用这个原则进行推理,你会看到你得到的输出是预期的。 这是操作顺序的简化视图。它描述了左侧的调用堆栈、正在执行的当前操作、所有相关promise的状态(F=已完成,P=待定)以及promise作业队列(微任务队列)中的作业:
|
|
|
2
0
这是一个棘手的练习,探讨了任务队列、微任务队列以及事件循环如何工作等概念。
当程序运行时,
然后,程序将从IIFE继续前进,而无需等待(因为没有任何等待来保存它)其结果完成,并继续进行下一个同步任务,即记录“C”。此时,funcOne的执行完成,程序在
一旦所有同步任务都完成,事件循环将处理微任务队列。此时将记录“B”。 在这个 link ,你可以对这三个概念有更详细的解释。 |
|
|
byles1506 · 不理解异步等待执行顺序 1 年前 |
|
|
user2741831 · 等待执行的顺序在节点中没有意义 1 年前 |
|
|
user1233894 · 尝试从全局函数传递值 1 年前 |
|
cluster1 · 任务(小写)与任务(大写) 1 年前 |
|
|
haru · 为什么我的代码在加载页面时两次获取相同的项目? 1 年前 |