#javascript #node.js #express #fs
Вопрос:
У меня проблема, когда я записываю данные из массива в файл JSON каждые 10 секунд на экспресс-сервере, и это приводит к перезагрузке главной страницы при каждом вызове функции WriteFile.
Главная страница делает запрос GET для извлечения объектов ввода в массив, однако я не понимаю, почему он перезагружается, когда массив в любом случае не изменяется, он просто используется для записи в файл JSON.
В index.js (код сервера):
const server = require('./app'); const { readFromFile, writeToFile } = require('./helpers/readWrite'); const port = process.env.PORT || 3000; readFromFile(); // start the server server.listen(port, () =gt; { console.log(`Listening at http://localhost:${port}`); // set the server to save to file every 10 seconds setInterval(writeToFile, 10000); });
В readWrite.js:
const Entry = require('../models/entry'); // file containing array that the data is written from. function writeToFile() { const entriesDataStringified = JSON.stringify(Entry.all); // stringify the entriesData array // write to the json file, overwriting any data already in the file fs.writeFile('./data/entries.json', entriesDataStringified, (err) =gt; { // check for error when writing file if (err) { console.log(err); } else { console.log('File successfully written'); } }); }
Получение записей на стороне клиента:
async function getPosts(e) { try{ response = await fetch(`http://localhost:3000/search/page/${pageNum}`); data = await response.json(); console.log(data) data.entries.forEach(post =gt; { if(!postArray.includes(post)){ newestArray.push(post); postArray.push(post); emojiArray.push({id: post.id, emojis: {loveCount: false, laughCount: false, likeCount: false}}) }; }); console.log(emojiArray); Post.drawAll(); pageNum } catch(err) { console.log(err) } }
Спасибо.
Комментарии:
1. Главная страница = ???
2. Я полагаю, что он перезагружается из-за изменения файла, в результате чего живой сервер автоматически обновляет страницу. Собираюсь развернуть код клиента и сервера отдельно, чтобы посмотреть, устранит ли это проблему. исправлено. изменение файла вызывало автоматическую перезагрузку