setTimeOut不一致 - 节点,js

时间:2018-03-19 16:58:00

标签: javascript node.js settimeout

我设置了一个函数,在一段时间后使用setTimeOut在我的后端执行。奇怪的是,如果我将超时设置为小于60000毫秒,则执行代码。如果大于或等于该值,则setTimeout内的代码不会运行。在线搜索后,我认为它可能与“此问题”有关,如以下链接所示:

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#The_this_problem

根据那篇文章,我的印象是我需要使用.bind,但我对此并不太熟悉,并且正在努力获得正确的语法。

我的问题是,我应该使用.bind()来解决此问题,如果是,那么将其添加到代码的正确方法是什么?

这里的当前示例是我的代码版本的样子。使用此代码,具有6000毫秒的setTimeout可以工作,但是具有60,000的那个不可用。很高兴提供更多信息。

//在前端

userComplete(a, b);

//在后端

export function userComplete (a,b) {

setTimeout(() => {
    addData(a.proj_sub_id, b, a.proj_instance_id); 
}, 60000);

setTimeout(() => {  
    addData(a.proj_sub_id, b, a.proj_instance_id);
}, 6000);

2 个答案:

答案 0 :(得分:-1)

您可以尝试直接将函数传递给setTimeout,并在函数userComplete中调用您的addData方法并尝试它是否有效。

setTimeout(userComplete,60000);

答案 1 :(得分:-2)