[英]How to callback function in set timeout node js
我必须使用设置超时的回调来调用函数,因为我已经编写了这样的代码
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);
}
我已经编写了与此类似的代码,但是我的问题是set超时无法立即执行其执行功能,因此无法等待35秒和10秒。
我不知道我在做什么错,如果您知道更好的方法,请帮助我。
您必须将对getData的调用包装在匿名函数中,例如setTimeout(function(){ getData(x, y, …) }, 1000)
。
以下是setTimeout
的正确语法。您的method
应始终作为setTimeout
函数的第一个参数
setTimeout(function(){myMethod(parameter);},3000);
完整参考: http : //www.java2s.com/Tutorials/Javascript/Node.js_Tutorial/0270__Node.js_setTimeout_setInterval.htm
我认为您错过了settimeout( setTimeout )的拼写尝试以下代码:
var callback = function (err, res) {
if(err){
console.log (err);
}else{
setTimeout(function() {
callback()
console.log ("start callback function");
}, 10000)
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.