я создаю приложение для голосования, в котором конкретный избиратель с адресом электронной почты может голосовать только один раз
однако код, который у меня есть, работает слишком медленно, пожалуйста, как я преобразую следующий код в угловой код $ http.post, который возвращает ответ, который я могу использовать
$scope.votecheck = function(item,emailid){
var email = emailid;
if( typeof item !== 'undefined')
{
var jsonData = $.ajax({
type: "GET",
url: 'ajax/voters.php?id='+item.ID+'&email='+email,
dataType: 'text',
async: false
}).responseText;
if(jsonData === "CanVote"){
return true;
}
else{
return false;
} //return "canvote";
}
}
Использовать обещание
что-то вроде этого…
$scope.voteCheck = function(email, id) {
var deffered = $q.defer();
$http.get('ajax/voters.php?id='+item.ID+'&email='+email, {
}).success(function(data) {
deffered.resolve(data);
});
return deffered.promise;
};
Тогда назовите что-то вроде этого
var votePromise = $scope.voteCheck($item.ID, email);
votePromise.then(function (data) {
return(data === "CanVote");
})
};
Других решений пока нет …