promise/a+ 规范的第 2.2.4 条说:
在执行上下文堆栈仅包含平台代码之前,不得调用 onFulfilled 或 onRejected。
然后在注释中指出:
这里的“平台代码”是指引擎、环境和promise实现代码。在实践中,这个要求确保 onFulfilled 和 onRejected 异步执行,在调用 then 的事件循环之后,并使用新的堆栈。
这样做的用意是为了保证当一个链中有大量的onFulfilled函数时,它们的执行不会导致线程阻塞?
或者在我没有阅读的字里行间还有什么其他的东西吗?