@formasters777

Метод writeStream.write и видимость изменений при записи файла?

Парсил данные и записывал их в файл fileData.csv записью: writeStream.write(`${array2.join(" ")}`),
но при открытом блокноте Notepad++ с этим файлом,
при старте скрипта выдаёт такое сообщение, как на скрине,
и файл очищается, при ОК он становится пустой,
но когда кол-во записей в массиве достигает 100, файл записывается, но уведомления от Notepad++ уже нет, если файл fileData.csv открыть заново, тогда записи видны,
а если файл открыт в LibreOffice, то уведомлений никаких нет.
Это из-за того, что в Notepad++ есть какой-то слушатель над изменениями файла?
Прочитав о методе writeStream.write, узнал что, он перезаписывает файл,
но если прекратить выполнение парсинга через Ctrl + c, то тогда уведомление появляется опять в Notepad++.
const axios = require("axios")
const cheerio = require("cheerio")
const express = require("express")
require("dotenv").config()
const fs = require("fs")
const { setTimeout } = require("timers")
const writeStream = fs.createWriteStream("fileData.csv")
const port = process.env.PORT || 4000
const app = express()

if (array2.length == 100) {
    setTimeout(() => {
        writeStream.write(`${array2.join(" ")}`)
        //clearTimeout(timerId);
    }, 0);

638ba227dc8da619118970.jpeg
  • Вопрос задан
  • 28 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
а если файл открыт в LibreOffice, то уведомлений никаких нет.
Это из-за того, что в Notepad++ есть какой-то слушатель над изменениями файла?

Да. Либо проверяет дату последней записи файла, например.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы