Мне нужно создать функцию, которая запускает функцию getFile для каждого элемента в массиве. Функция getFile регистрирует «содержимое файла x» x, являющееся любым элементом в массиве.
В настоящее время у меня есть рабочая функция, которая запускает getFile для массива и ждет окончательного ответа, прежде чем регистрировать результаты.
Однако теперь мне нужно регистрировать ответы по мере их поступления. Например, если мой массив [1, 2, 3, 4, 5], в настоящее время он записывает «Содержимое файла x» в случайном порядке, поэтому, если он должен вернуть журналы, 3, затем 4, а затем 1. Как только Я получаю 1, мне нужно войти в систему, затем, как только я получаю 2 журнала, и так далее.
Я вставлю свой текущий код ниже. Проблема, с которой я столкнулся, заключается в том, что мне нужно знать, когда «пустое пространство» в моем массиве заполняется, чтобы я мог записывать его в реальном времени. Поэтому, позволяя моему пользователю увидеть результат, а не ждать, пока все ответы вернутся
function fetchContentOfFiles(fileNames, testCB) {
const fileContent = [];
let counter = 0;
fileNames.forEach((file, i) => {
getFile(file, (err, fileName) => {
if (err) console.log(err)
else {
fileContent[i] = fileName;
counter++
if (counter === fileNames.length) {
testCB(null, fileContent)
};
console.log(fileContent)
};
});
});
};