@ynvazius said in Ping через JavaScript либо Node.js:
Если он не сможет получить IP, то переменная IP останется пустой(null)?
да
Нашел десятки готовых решений по парсингу строк из файла на 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
});
}));