Я пишу javascript, который включает в себя вызовы серии AJAX, и я ищу элегантное решение для следующей проблемы: Цель скрипта - собрать параметры, а затем выполнить вызов API с помощью этих параметры. В первый раз, когда выполняется вызов, есть один параметр, который необходимо запросить с сервера - каждый последующий вызов будет использовать сохраненное значение этого параметра. Здесь начинается проблема. Я хочу, чтобы условный вызов AJAX выполнялся только в том случае, если это первый раз. Я не хочу включать остальную часть кода в функцию успеха этого вызова AJAX, поскольку это кажется запутанным. Я хотел бы что-то вроде следующего, но из-за очевидной асинхронности вызова я понимаю, что это невозможно. Я также хочу, чтобы избежать необходимости синхронного вызова, так как это может вызвать поток блокировать:Элегантное решение условного вызова AJAX
var myParameter;
if(!params.myParam.isStored) {
myParameter = getParamWithAjaxCall();
} else {
myParameter = params.myParam;
}
// Continue with the rest of execution here of which there is a lot of code
Извините, если это кажется очевидным вопросом, и я посмотрел на решения с использованием следующим, но я ищу опытное мнение на то, что самое элегантное решение будет:
JQuery: when.done
JQuery: асинхронная ложь
Передача обратного вызова для вызова Ajax
Мне очень нравится этот ответ. Это обеспечивает хорошее разделение проблем, а также аккуратность, элегантность и легкость понимания. Спасибо! – gimg1
Без проблем, рад помочь! –