我认为我在关闭/范围界定方面存在问题。当我观察我的进度时,MyObject
我总是得到最终的价值i
。
例子
var a = new MyObject();
a.progress(function(msg){console.log(msg)}); // always prints 1000/1000
可观察对象
function MyObject()
{
var this.dfd = $.Deferred();
return this.dfd.promise();
}
MyObject.prototype.aProcess = function()
{
var self = this;
for (var i = 0; i < 1000; i++)
{
(function(i)
{
self.notify("Updating " + (i+1) + "/" + 1000);
// Bunch of Processes
})(i);
}
}
MyObject.prototype.notify = function(message)
{
console.log(message) // works fine
this.dfd.notify(message);
}