나는 이런 식으로 뭔가에 대한 것입니다 :각도로 빈 약속을 만드시겠습니까?
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 –