Моя директива Angular v1.x вызывает функцию при нажатии кнопки, и в зависимости от ввода я устанавливаю некоторые переменные:
$scope.offerRespond = function() {
if (offer.i.offerResponse == 1) {
// set some variables
}
else if (offer.i.offerResponse == 0) {
$http({method: 'GET', url: frontbaseurl+'/offer_types/' + id + '.json'})
.then(function successCallback(response) {
$scope.reason = response.data.data.name;
}, function errorCallback() {
$scope.reason = "Unknown";
}
);
$http.post(frontbaseurl+'/purchases.json', JSON.stringify(dataObj))
.then(function(response){
// continue....
}
}
Как видно, я делаю запрос GET, если offerResponse == 0. Это кажется рискованным, потому что код продолжает выполняться без получения ответа от запроса.Я знаю, что подход состоит в том, чтобы использовать «обещание», но как это применимо в этом случае, если запрос GET может быть не сделан?= 1 обещание не может быть выполнено, поскольку запрос GET не был бы выполнен.
Есть предложения, пожалуйста?