javascript - 如何在保持当前上下文的同时设置超时?

标签 javascript node.js

在 JS 对象的方法中,我希望在固定的时间后调用该对象的另一个方法(updateState)。以下是我目前的努力:

setTimeout((function() {
    this.updateState("closed")
}).call(this), cycleOpenTime);

由于当前上下文是必要的,我尝试使用 .call 函数传递它,但这似乎破坏了 setTimeout (我认为它不再被视为函数?)。

还有其他方法可以实现这一目标吗?

(如果这有什么不同的话,我正在使用 Node.js)

最佳答案

使用bind Function 原型(prototype)的方法:

setTimeout((function() {this.updateState("closed")}).bind(this), cycleOpenTime);

关于javascript - 如何在保持当前上下文的同时设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20472725/

相关文章:

javascript - Socket 无法加载资源服务器(404 错误)

javascript - 如何导出 multer 模块

javascript - 如何在递归解析后正确显示 JSON 对象的结果?

javascript - 如何检测swiper js中的当前幻灯片?

javascript - jQuery 中代码的运行顺序

javascript - js 数据表中的单击事件(因分页而中断)

javascript - 如何通过javascript更改字体大小

node.js - 如何让 twitter bootstrap 模式在 node js express js 中工作?

node.js - 强制忽略 npm/yarn 安装的一个依赖项的依赖项

javascript - EJS - 更新数据库中的数据,无需从 EJS 重新加载页面