在Promises/A+ spec (section 3)中说:
由于promise实现被认为是平台代码,因此可能 本身包含一个任务调度队列或“trampoline”,其中 处理程序被称为。
在这种背景下什么是蹦床?
答案 0 :(得分:1)
trampoline是一种控制结构,它可以实现递归逻辑,同时避免基于堆栈的语言的限制而无需尾调用优化。
嵌套的promise链的递归性质使其成为promise实现的递归解决方案。
据推测,蹦床在Promise / A +规范中被确定为一种常用的实施方法,即使它在某些语言中没有必要或者确实可能不是最佳的。
例如,ES2015在JavaScript中引入了尾部调用优化,使得(至少用户登陆)蹦床,可能不再需要。 Promises / A +规范是在ES2015之前的几年写的。