javascript - 如何在node js中设置超时回调函数

标签 javascript node.js settimeout

我必须在设置超时中调用带有回调的函数,因为我编写了这样的代码

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/

相关文章:

javascript - 将变量传递给 require.context?

javascript - Ace 编辑器不格式化编辑器 div 内的数据

javascript - 自动滚动到 anchor 时的平滑效果

javascript - 将 HTML 文件上传到 AWS S3,然后提供它而不是下载

node.js - RailwayJS 和 Mongoose 以及选项 --coffee

node.js - 如何在 Koa.js 中处理请求头?

javascript - setTimeout 是否创建函数实例?

javascript - bootstrap btn-group 中的 angularjs 切换类

javascript - 如何检测文档是否回到焦点?

javascript - js setTimeout 同步