Promises/A+ spec (section 3)中说:


  由于promise实现被视为平台代码,因此它可能
  本身包含一个任务计划队列或“蹦床”,其中
  处理程序被调用。


在这种情况下,蹦床是什么?

最佳答案

蹦床是一种控制结构,可实现递归逻辑,同时无需尾调用优化即可避免基于堆栈的语言的局限性。

嵌套的承诺链的递归性质使其适用于承诺实现的递归解决方案。

因此,在Promise / A +规范中,大概可以将蹦床识别为一种常用的实现方法,即使在某些语言中蹦床不是必需的,或者确实不是最优的。

例如,ES2015在JavaScript中引入了尾部调用优化功能,从而(至少在用户土地上)形成了蹦床,可能不再需要。 Promises / A +规范是在ES2015之前编写的。

关于javascript - 在这种情况下,蹦床是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43630323/

10-12 00:46