【发布时间】:2015-04-19 12:42:36
【问题描述】:
我正在尝试在 javascript 中动态设置超时。在超时内,我依赖于在超时回调函数之外更改的变量。这不是一个可靠的做法,所以我想摆脱对这个变量的依赖。
这是适用于我的问题的代码摘录:
timeouts["mr"+mI] = setTimeout(function(){
groups["mr"+mI].expired = 1;
io.sockets.emit("invite_channel",'{"type":"pullback","mI":"mr'+mI+'"}');
},120000);
mI 在setTimeout 之外更改,将与timeouts["mr"+mI] 声明中的mI 相同。
所以我的问题是,如何从timeouts[](setTimeout 回调函数内部)获取对象键,以替代mI?
提前致谢!
我认为这两个答案(在撰写本文时)都解决了我的问题。我选择了使用bind() 作为接受答案的答案。这主要是因为我(还)不了解closed method 答案的工作原理。我试图实现它,但没有让它工作。另一个答案很容易实现。
我要感谢两位回答者! :-)
【问题讨论】:
标签: javascript object callback key