有没有办法取消注册dojo.Deferred的回调?如果不是为什么?
答案 0 :(得分:0)
根据this,没有。虽然不应该太难添加一个:
dojo.Deferred.prototype.removeCallback = function(fn) {
for (var c = this.chain, i = c.length; i--;)
if (c[i][0] === fn) c.splice(i, 1);
return this;
};
用法:
var d = new dojo.Deferred;
d.addCallback(someFn);
// Remove it:
d.removeCallback(someFn);