Я использую AJAX для разбора json, все работает нормально, хотя, когда я пытаюсь вызвать функцию, где я передаю значение индекса цикла, а затем функция помещает это значение в глобальный массив, кажется, что это не тактолкая эти значения, даже если console.log () распечатывает все, как и должно быть на каждом шаге, но когда я проверяю длину массива, он всегда равен 0.
//This bit of code is actually inside a function and another ajax success
$.each(updatedData, function(index, element) {
$.ajax({
type: 'GET',
url: 'https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&explaintext&format=json&redirects&callback=?&titles='+updatedData[index],
data: { get_param: 'value' },
dataType: 'json',
success: function (data) {
console.log('success wiki');
//getting the pagenumber key value to use the extract value from it
var pagenum = Object.keys(data.query.pages);
if(data.query.pages[pagenum[0]].extract == null)
{
recycleData(index);
}
}
});
});
//this is the function which should push the trash value to the trashData
//the console.log actually logs all the correct values yet still doesn't push
function recycleData(trash){
console.log("sliced - "+trash);
trashData.push(trash);
}
//that's how the array is defined, it's obviously defined before all the functions just in case someone would ask
var trashData = [];
UPDATE : у меня естьпроверил длину массива после задержки, он заполняется после того, как все запросы ajax были выполнены, но мне нужны другие запросы, чтобы дождаться завершения этого запроса, чтобы другие запросы использовали обновленные данные.Этот запрос находится в другом успехе ajax, так что имейте это в виду.