My code was working until i updated node.js to version 8.11.3
Now i always get error \"callback argument must be a function\" when trying to call a function with setTim
Q: I am getting the error "callback argument must be a function" when trying to call a function with setTimeout. Why?
A: setTimeout(testFunction(itemid, price), 100);
You have accidentally pushed the output of testFunction
as the first argument of setTimeout
which it is suppose to be a function
and hence the error.
What you could do is, pass in a function and call the testFunction
recursively from there.
Example:
function test(itemid, price) {
console.log("hello => " + itemid + ", " + price);
if (price < 50) {
setTimeout(() => { test(itemid, price + 10) }, 100);
}
}
test(100, 10)