Я использую angularjs в своем проекте. Я сталкиваюсь с проблемой. На странице есть две кнопки A и B, они называют ту же функцию, которая получает удаленные данные с сервера. Когда я нажимаю «А», а затем «В», он отправляет два запроса, но иногда запрос «В» возвращается раньше, а затем запрашивает «А», поэтому последний я визуализую данные из запроса А на странице, которую я должен отображать данные из запроса В. Теперь у меня есть решение ниже:
app.controller("controller", function($scope) {
$scope.lastTimeStamp = null;
$scope.getData = functio() {
$scope.lastTimeStamp = new Date().getTime();
var temp = angular.copy(t);
$http({}).success(function() {
if($scope.lastTimeStamp == temp) {
// this is the data from last request
}
})
}
});
каждый раз, когда вызов $ scope.getData(), я обновляю $ scope.lastTimeStamp и вар темп с тем же значением для обеспечения $ scope.lastTimeStamp является фактической последним, и сравнить его с темп в обратном звонке , Это работает. Но эта ситуация является общей, мой проект, если он решается таким образом, каждый раз, когда мне нужно делать это, у которого нет бизнес-логики с бизнес-логикой. поэтому я задаюсь вопросом, есть ли общее решение для решения этого? любая помощь?
Вы должны использовать обещания – Himanshu
спасибо, но ключ заключается в том, как проверить, какой ответ является последним, обычным способом, а не проверять его в каждом запросе HTTP. – aldrich