Почему код (Node.JS), указанный ниже, выдает в консоль только первую строку файла?
var fs = require("fs");
var writeableStream = fs.createWriteStream("hello.txt");
writeableStream.write("Привет мир!");
writeableStream.write("Продолжение записи \n");
writeableStream.end("Завершение записи");
var readableStream = fs.createReadStream("hello.txt", "utf8");
// Эта часть кода выдает только первую строку файла
readableStream.on("data", function(chunk){
console.log(chunk);
});
Запись файла происходит асинхронно и что бы быть точно уверенным, что запись закончилась надо слушать событие close у writableStream.
Вот так всё работает.
var fs = require("fs");
var writeableStream = fs.createWriteStream("hello.txt");
writeableStream.write("Привет мир!");
writeableStream.write("Продолжение записи \n");
writeableStream.end("Завершение записи");
writeableStream.on("close", function() {
var readableStream = fs.createReadStream("hello.txt", "utf8");
readableStream.on("data", function(chunk){
console.log(chunk);
});
});
Что не отменяет того факта, что вы делаете что-то странное.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости