restore defferedCall

This commit is contained in:
nightwing 2013-02-28 20:13:12 +04:00
commit 7f85b2584d

View file

@ -144,9 +144,34 @@ exports.getMatchOffsets = function(string, regExp) {
/* deprecated */
exports.deferredCall = function(fcn) {
if (typeof console != "undefined" && console.error)
console.error("Deprecated: use lang.delayedCall")
return exports.delayedCall(fcn);
var timer = null;
var callback = function() {
timer = null;
fcn();
};
var deferred = function(timeout) {
deferred.cancel();
timer = setTimeout(callback, timeout || 0);
return deferred;
};
deferred.schedule = deferred;
deferred.call = function() {
this.cancel();
fcn();
return deferred;
};
deferred.cancel = function() {
clearTimeout(timer);
timer = null;
return deferred;
};
return deferred;
};