我必须在设置超时中调用带有回调的函数,因为我编写了这样的代码
getData(a, b, function(err, rlt) {
if (err) {
console.log(err)
} else {
// call next function after 35 seconds
settimeout(getData(c, d, function(err, rlt) {
if (err) {
console.log(err)
} else {
// call next function after 10 seconds
settimeout(getData(x, y, function(err, rlt) {
if (err) {
console.log(err)
} else {
console.log(rlt);
}
}), 10000);
}
}), 35000)
}
});
function getData(parms1, parms2;, callback) {
return callback(null, parms1 + parms2);
}
我已经编写了与此类似的代码,但我的问题是设置超时无法立即执行其执行功能,而不是等待 35 秒和 10 秒。
我不知道我做错了什么,如果您知道更好的方法,请帮助我。
最佳答案
您必须将对 getData 的调用包装在匿名函数中,例如setTimeout(function(){ getData(x, y, …) }, 1000)
。
关于javascript - 如何在node js中设置超时回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51413905/