Tengo un problema en el que escribo datos de una matriz en un archivo JSON cada 10 segundos en un servidor express, y esto hace que la página principal se vuelva a cargar cada vez que se llama a la función writeFile.
La página principal realiza una solicitud GET para recuperar objetos de entrada en la matriz, sin embargo, no entiendo por qué se vuelve a cargar cuando la matriz no se cambia de todos modos, solo se usa para escribir en el archivo JSON.
En index.js (código del servidor):
const server = require('./app'); const { readFromFile, writeToFile } = require('./helpers/readWrite'); const port = process.env.PORT || 3000; readFromFile(); // start the server server.listen(port, () => { console.log(`Listening at http://localhost:${port}`); // set the server to save to file every 10 seconds setInterval(writeToFile, 10000); });En 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) => { // check for error when writing file if (err) { console.log(err); } else { console.log('File successfully written'); } }); }Recuperando entradas en el lado del cliente:
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 => { 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) } }Gracias.