Я пытаюсь создать приложение Electron, которое будет рекурсивно читать данный каталог и печатать имена файлов для пользователя. К счастью, я нашел функцию на GitHub, которая делает именно то, что я хочу. (Ссылка здесь ).
Когда функция находит файлы один за другим, я хочу показать пользователю, какой файл только что найден.
console.log
работает нормально, и я получаю то, что хочу в точное время. Но я не хочу, чтобы пользователи видели инструменты разработчика. Поэтому я хочу напечатать этот текст где-нибудь еще в DOM.
В этом случае я добавил div с именем show_files
и хотел добавить тексты в этот div с помощью функции добавления Jquery, но функция добавления работает после всего готово.
Я знаю, Node.js работает асинхронно, но в этом примере я все использую синхронно. Что я делаю не так или как я могу решить эту проблему?
Код ниже.
var walkSync = function(dir, fileNameList) {
var fs = fs || require('fs');
var path = path || require('path');
var files = fs.readdirSync(dir);
fileNameList = fileNameList || [];
files.forEach(function(file) {
logs.prepend(file);
if (fs.statSync(path.join(dir, file)).isDirectory()) {
fileNameList = walkSync(path.join(dir, file), fileNameList);
} else {
fileNameList.push(file);
// CHECK HERE -> This runs properly.
console.log(file);
// CHECK HERE -> This runs after everything is done.
$('#show_files').append(file + "\n");
}
});
return fileNameList;
};
Спасибо.