【发布时间】:2018-08-28 08:05:03
【问题描述】:
我使用 setTimeOut 设置了一个函数,在一定时间后在我的后端执行。奇怪的是,如果我将超时设置为小于 60000 毫秒,代码就会执行。任何大于或等于的值,则 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);
【问题讨论】:
-
请提供更多详细信息,说明您所说的“有时效果很好,有时效果不佳”。它不运行吗?它运行得晚/早吗?
-
到底是什么问题?请提供详细信息。
-
有时函数 doSomething();按预期在 60 秒后执行。其他时候,它根本不执行。它从来没有过早或晚执行的情况。它要么有,要么没有,据我所知,每次运行它时所有因素都是相同的
-
你怎么称呼它?在哪里?
-
我尝试添加一些额外的细节,如果仍然没有意义,请告诉我。在这个问题上我的大脑有点颤抖。
标签: javascript node.js settimeout