【发布时间】:2018-08-04 12:03:41
【问题描述】:
在我将 node.js 更新到版本 8.11.3 之前,我的代码一直在工作
现在我在尝试使用 setTimeout 调用函数时总是收到错误“回调参数必须是函数”。
function testFunction(itemid, price) {
var url = 'https://example.com';
var options = {
method: 'get',
url: url
}
request(options, function (err, res, body) {
var response = JSON.parse(body);
if(response.status == 'fail'){
setTimeout(testFunction(itemid, price), 100);
}
})
}
【问题讨论】:
-
代码从未按预期工作,仅供参考。
-
同意,@MHH,您可能只是没有注意到
testFunction在 100 毫秒后没有被调用,而是立即调用 - 您没有将函数testFunction作为参数传递给 @987654327 @,而是调用它的结果。升级到 Node 8.11.3 暴露了你的错误,因为它不再允许你传递函数以外的任何东西
标签: javascript node.js callback settimeout