@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
  • Вопрос задан
  • 25 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
а если файл открыт в LibreOffice, то уведомлений никаких нет.
Это из-за того, что в Notepad++ есть какой-то слушатель над изменениями файла?

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

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

Войти через центр авторизации
Похожие вопросы