我在调用回调函数之后遇到此错误:
function callbackInterval(test) {
Meteor._debug("Test");
}
Meteor.setInterval(callbackInterval(test), 60000);
这是错误输出
Exception in setInterval callback: TypeError: undefined is not a function
at _.extend.withValue (packages/meteor/dynamics_nodejs.js:56)
at packages/meteor/timers.js:6
at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108)
答案 0 :(得分:1)
您需要传递setInterval
函数引用(名称或匿名函数),而不是调用函数。
你想:
function callbackInterval(test) {
Meteor._debug("Test");
}
Meteor.setInterval(function () {
callbackInterval(test)
}, 60000);
如果您不需要传递callbackInterval
参数,那么您就可以致电:
Meteor.setInterval(callbackInterval, 60000);
答案 1 :(得分:1)
如果仍然需要,或者对于需要它的人,正确的方法是:
function callbackInterval(test) {
Meteor._debug("Test");
}
Meteor.setInterval(callbackInterval, 60000);
因为测试参数将被注入函数,但我不知道设置Interval是否会接收参数......
答案 2 :(得分:0)
您无法将参数设置为回调函数。请改用这样的匿名函数:
var callback = function () {
callbackInterval(test)
Meteor._debug("Test");
}
Meteor.setInterval(callbackInterval, 60000);
答案 3 :(得分:0)
如果要将参数设置为回调函数
您可以使用像
这样的参数调用回调函数setInterval(function (){
callbackInterval(test)
}, 1000);