私はオブジェクト "部屋"を持っていて、そのコンテンツをファイル "logging.json"に10秒ごとに印刷しようとしています。SetTimeout + fs.writeFileは私のオブジェクトを消去します
setTimeout(function(){
fs.writeFile('./logging.json',JSON.stringify(rooms,null,'\t'),function(err) {
if(err) return console.error(err);
console.log('done');
});
}, 10000);
初めて(10秒後)動作し、ファイルlogging.jsonが完了しました。しかし、関数が呼び出された2回目に、オブジェクト "rooms"の内容が消去され、取得したlogging.jsonファイルも空になります。
また、私のプログラムの残りの部分は、この部分のコードと正しく動作するので、他のものから来ているとは思われません。
なぜ私はこれをどうやって解決するのか教えてください。
EDIT:私の部屋のオブジェクトを印刷しようとすると、これがコンソールに表示されます。
[nodemon] restarting due to changes...
[nodemon] starting `node serveur.js`
[ { username: 'Bob', message: 'Hello' },
done
[nodemon] restarting due to changes...
[nodemon] starting `node serveur.js`
[]
done
また、なぜ10秒ごとにサーバを復元するのかわかりませんが、それは想定されていません。
ではなくappendfileはを使用するかのWriteFileのような「」フラグを追加してみてください(ファイル、データ、{'フラグ': 'a'}、関数) – Vanojx1
appendFileと同じこと、私のオブジェクトは再び消去されます。 – Mit
私はあなたのコードを実行します。もう一度OKです。 あなたのプログラムは部屋を消去していますか? 詳細を追加できますか?またはより多くのコード? – Gor