AngularJS の $q を使用しています。単一のプロミスを作成し、そのプロミスが既に解決されている場合、再度解決できますか? これが可能かどうかはわかりませんが、そうでない場合は、同じ約束を何度も解決できる方法があります。通知方法を使用することを考えていましたが、これを行う他の方法があるかどうかはわかりません。
2910 次
2 に答える
0
私が単にやったのは、次のように再び約束を再初期化することでした:
var appReadyDeferred = $q.defer();
this.prepareAppReadyDeffered = function() {
appReadyDeferred = $q.defer();
};
this.appReady = function() {
return appReadyDeferred.promise;
};
this.appResolve = function() {
appReadyDeferred.resolve();
};
this.appDeferr = function() {
appReadyDeferred.reject();
};
だから私は使うことができます
someService.appReady().then(function() {
// some code
});
そして、それを使用して再起動します
someService.prepareAppReadyDeffered();
これが可能な限り最善の解決策かどうかはわかりませんが、うまくいくようです。
于 2013-10-09T09:19:05.220 に答える