Node , line by line , console.log

Поддержка
  • Нашел десятки готовых решений по парсингу строк из файла на Node.js, но не могу понять почему официальные примеры не работают.
    Ставлю требуемый модуль, перехожу по справке и беру код из примера, который написан самими авторами модуля, а следовательно должен работать, вставляю свой путь файла и консоль лог , там где его нет.
    Запускаю - не работает, иногда с ошибками, иногда без - за 3 дня перепробовал более 20 модулей, ни один не работает, - такого быть не может, видимо я что-то делаю не так.
    Вот тестовый проект, с одним из подобных модулей:
    0_1546540941649_test.xml
    0_1546540958121_Screenshot_1.jpg

  • @sydhe Потрудитесь и ознакомьтесь с мануалом, с работой с Node.js в BAS есть свои особенности, требуется оборачивать в промис и использовать await

  • @usertrue said in Node , line by line , console.log:

    @sydhe Потрудитесь и ознакомьтесь с мануалом, с работой с Node.js в BAS есть свои особенности, требуется оборачивать в промис и использовать await

    Мануал вы имеете ввиду видеоурок на 55 мин? Смотрел я его, а на счет await - забыл написать : не помогает.
    На счет promise, даже не знал - сейчас погуглю.

  • @sydhe https://wiki.bablosoft.com/doku.php?id=node.js
    Пример из мана

    await (new Promise((resolve, reject) => {
        fs.readFile('file3.txt', 'utf8', function(err, contents) {
            resolve()
        });
    }));
    console.log("File Reading done")
    
  • @usertrue said in Node , line by line , console.log:

    @sydhe https://wiki.bablosoft.com/doku.php?id=node.js
    Пример из мана

    await (new Promise((resolve, reject) => {
        fs.readFile('file3.txt', 'utf8', function(err, contents) {
            resolve()
        });
    }));
    console.log("File Reading done")
    

    а, ну это я видел - это-же просто кнопочка синхронизировать, как сказал выше - не помогает.

  • Не успел написать :D
    Код с await для вашего скрипта:

    await (new Promise((resolve, reject) => {
    var readline = require('linebyline'),
          rl = readline([[BASE_PATH]]);
      rl.on('line', function(line, lineCount, byteCount) {
        // do something with the line of text
        console.log(line)
        resolve()
      })
      .on('error', function(e) {
        console.log(e)
        // something went wrong
      });
    	
    }));
    

    0_1546541768264_24d7d443-3022-4860-8bb8-abd5724190eb-изображение.png
    Скрипт

  • @sydhe resolve() то с умом надо ставить )) Вон как у @Fox

  • @usertrue said in Node , line by line , console.log:

    @sydhe resolve() то с умом надо ставить )) Вон как у @Fox

    Ну для меня это пока темный лес, действительно дело было в resolve, я ставил его так:
    0_1546542404813_Screenshot_2.jpg
    по этому ничего и не работало.

  • Node Import

    Поддержка
    0 Votes
    6 Posts
    500 Views
  • 0 Votes
    2 Posts
    382 Views
  • 0 Votes
    2 Posts
    431 Views
  • 0 Votes
    2 Posts
    402 Views
  • 0 Votes
    22 Posts
    2630 Views