我使用AngularJS从API获取数据 我通过Angular制作服务和控制器。我从服务中获取数据并从控制器中使用它。 我有一个Validation函数用于检查重复密钥的数据输入,服务将通过发送密钥输入到服务器来完成此操作。 单击Save时,从控制器调用函数Validate(),从Validate()调用服务CheckExistedKey()。 我有一行如下
if(validate() == true){
alert(''); //something to do
}
以下服务
var defer = $q.defer();
var checkExistedKey = function (key){
return $http.get('http://localhost:2807/api/Event/CheckExistedkey?key=' + key
).then(function (results) {
defer.resolve(results.data);
return defer.promise();
});
}
但是在validate()函数之前调用了警报。 我把$ q.defer投入使用,但没有任何改变。 请帮助我。
答案 0 :(得分:0)
在验证中,您还需要添加回调函数 -
function validate(){
var deferredRequest = checkExistedKey ();
deferredRequest.then(function (success) {
return true;
}
}
请参阅此内容 - example