为什么 Promise 被设计为在内部立即运行

Rax*_*ter 6 javascript promise es6-promise

根据MDN:

执行器函数由Promise实现立即执行,传递resolve和reject函数

做出这个决定的真正原因是什么?为什么承诺不偷懒?

Ber*_*rgi 5

做出这个决定的真正原因是什么?

具有回调的揭示Promise构造函数只是对旧的延迟模式的改进。回调从来不是为了提供评估时间的选择,它应该为解析器函数提供错误处理的范围。

为什么承诺不偷懒?

因为 Promise 代表的是异步结果值,仅此而已。它们保持简单,没有惰性(并代表整个计算,具有启动/重复/等方法)。您可以通过使用返回 Promise 的函数来轻松实现这一点。