Я хочу разрешить объект обещания так же, как это было бы сделано. Угловая дефер.революция с объектом обещания Javascript. Путь другой: я хочу создать объект обещания, который нужно вернуть. Это обещание будет разрешено позже.Отложить/отложить обещание решить
В Угловое я бы написать так:
...
$scope.checkThis = { test: false };
function getPromise() {
var deferred = $q.defer();
var data = [1, 2, 3];
function resolvePromise() {
deferred.resolve(data);
}
$scope.$watch("checkThis.test", function(newVal, oldVal) {
if (newVal) {
resolvePromise();
}
});
return deferred.promise;
}
$scope.getData1 = function() {
return getPromise();
};
$scope.getData2 = function() {
return getPromise();
};
...
Как бы я добиться того же с простым объектом Javascript Promise? Я не вижу, как использовать конструктор Promise, поскольку есть одно событие ($ scope.checkThis.test становится истинным), что приведет к нескольким решениям.
Что вы подразумеваете под «* событием, которое вызовет несколько решений»? Почему это будет работать для отсрочек, но не для конструктора обещаний? – Bergi