Im пытается получить доступ к моей переменной, но она дает мне пустой массив.Задает переменную за пределами foreach JQuery
пример:
var data = [];
$.each(files, function (index, file) {
var reader = new FileReader();
reader.onload = handleReaderLoad;
reader.readAsDataURL(file);
function handleReaderLoad(evt) {
data.push({
name: file.name,
file: evt.target.result
});
}
});
console.log(data)
На данный момент данных является пустой массив. Когда я помещаю console.log в foreach, он возвращает мои данные. Как я могу вернуться и получить данные, заполненные за пределами foreach?
Вся помощь будет оценена!
веселит
ти происходит потому, что 'FileReader.readAsDataURL' это метод асинхронной –
, потому что console.log (данные) исполнения до запроса читателя. читатель - асинхронный. –
переменная, вероятно, пуста, так как обратный вызов 'onload' еще не запущен, а функция' handleReaderLoad' еще не запущена. –