繁体   English   中英

如何在设置超时节点js中回调函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM