我想这样的事情:
var promise = IAmAEmptyPromise;
if(condition){
promise = ApiService.getRealPromise();
}
promise.then(function(){
//do something
});
Run Code Online (Sandbox Code Playgroud)
所以我想声明一个可以使用then解决的promise.但是,这个承诺可能会被另一个返回内容的承诺所覆盖.后来我想解决它是否有内容的承诺.这可能吗?我尝试过:
var promise = $q.defer().promise;
if(!$scope.user){
promise = UserService.create(params);
}
promise.then(function(){
//either user was created or the user already exists.
});
Run Code Online (Sandbox Code Playgroud)
但是,当用户在场时,这不起作用.有任何想法吗?