Я знаю, что вопросы, подобные этому, задавались много раз, но некоторые из них старые и предлагают устаревшие решения, некоторые описывают решение, но не в контексте al oop, и ни один из них прямо не отвечает на мой вопрос. Я хочу знать, каков последний и лучший подход к запуску фрагмента кода после выполнения другого фрагмента кода, выполняющего набор асин c вызовов.
Вот общая структура кода как У меня есть это:
function fetchProperty(input) {
$.ajax({
url: 'https://jsonplaceholder.typicode.com/todos/1' + input
}).done(function(resp){
return $.parseJSON(resp).title;
});
}
inputValues = [1, 2];
outputValues = [];
$.each(inputValues, function(index, value){
outputValues.push(fetchProperty(value));
});
console.log(outputValues); // will return an empty array
По сути, я хочу, чтобы последняя строка кода не выполнялась до тех пор, пока не завершатся все вызовы AJAX, сделанные внутри $.each()
. Очевидно, я не хочу использовать async: false
, потому что это устарело. Как лучше отложить console.log
до тех пор, пока не будут выполнены все другие отложенные вызовы AJAX?