我有这个小片段(这是在一个对象里面):
var tout = 0;
self.initialize = function() {
for (var key in periods) {
setTimeout(function() {
self.server.sendData('customData', periods[key], 0);
}, tout);
tout = tout + 7000;
}
}
正如您所看到的,我正在遍历periods
个对象字段,我需要在setTimeout()
内单独显示每个键。目前,这是不可能的。我正在尝试这样的事情,希望有一个奇迹:
self.initialize = function() {
for (var key in periods) {
var localkey = key; //here is the change
setTimeout(function() {
self.server.sendData('customData', periods[localkey], 0);
}, tout);
tout = tout + 7000;
}
}
但显然,奇迹并没有发生。有没有人知道如何处理这个问题?
答案 0 :(得分:0)
self.initialize = function() {
for (var key in periods) {
(function(key) {
setTimeout(function() {
self.server.sendData('customData', periods[key], 0);
}, tout);
tout = tout + 7000;
})(key);
}
}