你可以使用延遲功能..你需要注入$ Q ..
創建一個服務,然後添加你爲gettoken http請求的代碼。像這樣
myapp.factory('myService',$q,$http){
var deferred = $q.defer();
var newVal = { 'Value': val };
var getToken = functino(){ $http({
method: 'PATCH',
url: baseService.getBaseService + 'ModuleAndParameters(' + ModAndParamsId + ')',
data: newVal
}).success(function (data, status, headers, config) {
deferred.resolve(data)
}).error(function (data, status, headers, config) {
deferred.reject(status);
});
return deferred.promise;
};
return getToken;
}
然後在你的控制器,,注入的名字你的服務..而只是單純的做這樣的..
myService.getToken().then(function(result){
getUserData(result);
})
我希望它有幫助.. xD
*「但我知道在承諾中履行承諾並不是那麼好」*〜得到了一個參考? – Phil 2014-11-06 00:38:18
如果你不想嵌套匿名函數,你可以使用getToken()。然後(getUserData);我不太確定你在問什麼。 – rtucker88 2014-11-06 00:40:47
爲什麼不使用'promise.then()。then()' – deadlock 2014-11-06 00:50:47