需要彼此的模块导致错误“超出最大调用堆栈大小”

时间:2013-06-11 18:49:26

标签: javascript node.js express

我有两个不同的模块需要互相要求。据我所知,它创造了一个无限循环,无法发挥作用。有没有办法绕过它?

2 个答案:

答案 0 :(得分:3)

Node.js允许循环要求(参见here)。所以很可能导致错误的无限循环是一个永远不会结束的递归函数调用(A调用B调用A ...)。确保所有函数都有限完成。

答案 1 :(得分:1)

您可以将一个模块更改为代理。

其中一个模块可能不会立即需要另一个模块。如果您传入代理,您可以使用它来获取以后的依赖关系(就像实时)。