【发布时间】:2017-03-25 23:38:10
【问题描述】:
下面的代码有效 - 但是在我将 NODEJS 从 4.. 更新到 6.9.1 之后,它突然抛出一个错误(对于每个调用)......这意味着它完美地执行了所有递归调用,然后告诉我 20 倍的错误下方留言...
“回调”参数必须是一个函数。
我发现了错误 - 一切正常。它是一个递归调用 - filterTrades。我已经这样使用它很长时间了 - 以前从未遇到过问题。该怎么办?我猜代码使用不必要的资源来捕获一些东西(实际上不需要)?
var id = setImmediate(filterTrades(rows, indexStart, indexEnd, offset));
clearImmediate(id);
【问题讨论】:
-
filterTrades是否返回函数? -
这 2 行放在函数 filterTrades() 内部。就像我写的那样——它是递归的。
-
那不相关;
setImmediate的参数应该是一个函数,而您正在调用一个函数,因此关于filterTrades返回什么的问题。 -
我回答了你的问题? FilterTrades 不返回函数 - 但它是一个函数并且代码有效。但是在我更新节点之后它也会抛出一个错误......
-
是的,因为
filterTrades不返回函数,这是setImmediate期望的参数。不,你没有回答这个问题,你告诉我filterTrades是递归的,它没有说明它返回的内容。
标签: javascript node.js setimmediate