@slon said in BAS ничего не выводит при запуске модуля Node.js с этим кодом:
@Ajshma этот код ведь должен работать, или в басе есть какое-то ограничение?
https://community.bablosoft.com/topic/4450/websocket-на-node-js/6
Нашел десятки готовых решений по парсингу строк из файла на Node.js, но не могу понять почему официальные примеры не работают.
Ставлю требуемый модуль, перехожу по справке и беру код из примера, который написан самими авторами модуля, а следовательно должен работать, вставляю свой путь файла и консоль лог , там где его нет.
Запускаю - не работает, иногда с ошибками, иногда без - за 3 дня перепробовал более 20 модулей, ни один не работает, - такого быть не может, видимо я что-то делаю не так.
Вот тестовый проект, с одним из подобных модулей:
0_1546540941649_test.xml

@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
});
}));