【发布时间】:2015-10-21 19:22:48
【问题描述】:
如何使用 promise
返回数据
得到错误,successdata 不是我的控制器中的函数,我不知道我做错了什么。我是否错过了控制器中的某些内容?
我通过调试应用程序响应观察到正在服务中,但没有任何返回
var module = angular.module('app', []);
module.service("webservice", function($http,$q) {
return {
callservice:function(method,url,_data){
var deferred = $q.defer();
var promise = deferred.promise;
$http({
method: method,
url: App_Service_api+url,
data: _data,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).
success(function (data, status, headers, config) {
if (data.success) {
deferred.resolve(data.message);
//return deferred.promise;
promise.successdata = function(fn) {
promise.then(fn);
return deferred.promise;
}
}
else {
deferred.reject("Plase Enter valid data.");
//return deferred.promise;
promise.errordata = function(fn) {
alert("error");
promise.then(null, fn);
return deferred.promise;
}
}
}).
error(function(data, status, headers, config){
deferred.reject("Plase Enter valid data.");
//return deferred.promise;
promise.errordata = function(fn) {
promise.then(null, fn);
return deferred.promise;
}
});
}
}
})
这是我的控制器代码
webservice.callservice('POST',App_Service_login,inputs).successdata(function(data){
var alertPopup = $ionicPopup.alert({
title: 'Login Succesfull!',
template: 'Please check your credentials!'
});
})
.errordata(function(data) {
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!'
});
});
【问题讨论】: