Я объясняю, что я хочу сделать:
(function() {
angular
.module(".....")
.factory("....", ....);
....
return {
f
};
function f() {
var def = $q.defer();
def["id"] = md5(Math.random()); // <-- example of id
(function(_def) {
$rootScope.$on("CacheSavePending", (function(_def) {
return function() {
console.log(this);
}.bind(_def);
})(_def));
})(def);
return def.promise;
}
})()
Не представляйте, что функция f будет вызываться из множества других служб
Итак, я пытаюсь сохранитьотложенный статус этого обещания.
Проблема
Моя проблема заключается в том, что при запуске события "CacheSavePending" внутреннее "this" не совпадаетсохранено в момент выполнения закрытия.
Так где я не прав ??
Примечания
Я уже пробовал другое решение, подобное следующему ... безуспешно
(function() {
angular
.module(".....")
.factory("....", ....);
....
return {
f
};
function f() {
var def = $q.defer();
(function(async) {
var _def = async;
$rootScope.$on("CacheSavePending", function() {
console.log(_def);
}.bind(this));
})(def);
return def.promise;
}
})();