Javascript 已超过Bacon.js最大调用堆栈
我正在尝试为Javascript 已超过Bacon.js最大调用堆栈,javascript,bacon.js,Javascript,Bacon.js,我正在尝试为requestAnimationFrame 为什么下面的代码会产生“超出最大调用堆栈”错误 我以为当两个流中的一个抛出一个Bacon.End时,merge()会进行垃圾收集(raf.merge(…)中的raf) 更新: 我已经能够实现如下工作版本: Bacon.repeat(() => Bacon.fromCallback(requestAnimationFrame)); 我仍然感兴趣的是为什么merge()没有清理。在当前的Bacon.js实现(0.6.x)中,所有基于递归
requestAnimationFrame
为什么下面的代码会产生“超出最大调用堆栈”错误
我以为当两个流中的一个抛出一个Bacon.End时,merge()
会进行垃圾收集(raf.merge(…)中的raf
)
更新:
我已经能够实现如下工作版本:
Bacon.repeat(() => Bacon.fromCallback(requestAnimationFrame));
我仍然感兴趣的是为什么
merge()
没有清理。在当前的Bacon.js实现(0.6.x)中,所有基于递归的“无限”序列都注定会失败,因为在每一步,“流堆栈”我确信有一种方法可以优化实现以更好地处理这种构造,但这绝非小事
对于您的特定情况,使用
fromGenerator
方法将使您的实现更简单。如果您感兴趣,中已经有相关的代码。我建议您使用Github问题,以防您对修复此问题感兴趣。谢谢,我会在有机会打开问题时尝试查看它。
Bacon.repeat(() => Bacon.fromCallback(requestAnimationFrame));