我會向這樣的事情:在角度創造空諾言?
var promise = IAmAEmptyPromise;
if(condition){
promise = ApiService.getRealPromise();
}
promise.then(function(){
//do something
});
所以我要聲明一個承諾,可以使用,然後加以解決。然而,這個承諾可能會被另一個承諾所覆蓋,而承諾會返回內容。後來我想解決它是否有內容的承諾。這可能嗎?我嘗試過:
var promise = $q.defer().promise;
if(!$scope.user){
promise = UserService.create(params);
}
promise.then(function(){
//either user was created or the user already exists.
});
但是,當用戶在場時這不起作用。有任何想法嗎?
也許$ q.when()可以幫助你:http://docs.angularjs.org/api/ng/service/$q –