Salam (意思是Hello:)
在我的node.js应用程序中,我需要使用setImmediate()隐式调用函数,并在下一次执行时保持其上下文不变。
考虑以下例子:
var i=3;
function myFunc(){
console.log(i, this);
--i && setImmediate(arguments.callee);
}
myFunc();输出:
3 // a regular `this` object
2 { _idleNext: null, _idlePrev: null, _onImmediate: [Function: myFunc] }
1 { _idleNext: null, _idlePrev: null, _onImmediate: [Function: myFunc] }如您所见,在第一次执行之后,this将被覆盖。我该怎么处理这件事?
发布于 2015-06-13 08:32:50
这样做:
function myFunc(){
console.log(i, this);
--i && setImmediate(myFunc.bind(this));
}正如您可能注意到的,我删除了arguments.callee:在严格的模式下,它的使用是被废弃和禁止的。。
https://stackoverflow.com/questions/30816676
复制相似问题