Узел Электрон Синхронизация текста Добавить - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь создать приложение 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;
};

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...