Ich schreibe ein Knoten-js-Programm, um Inhalt aus einer Datei zu lesen, ich führe dieses Programm mehrmals in kurzer Zeit aus. Manchmal kann ich Dateiinhalte sehen und manchmal nicht (PFA-Screenshot), kann jemand bitte erklären, warum das passiert? Ist das, weil ich keine Versprechungen verwende?Node JS synchrone Ereignisse
var fs= require('fs');
fs.readFile('myData.json', (err, data) => {
if(err)
console.log('Error Found',err.code);
else {
console.log('inside else');
fs.open('myData.json', 'wx', (err, fd) => {
console.log('inside open file');
fs.writeFile('myData.json','test data',(err)=>{
if(err) console.log('error writing data');
});
fs.readFile('myData.json','utf8',(err, data) => {
console.log('read file'+data);
});
});
}
});
Screen Shot:
Ich sehe nicht, dass Sie die Datei nach dem Lesen/Schreiben schließen. Ich glaube, es ist eine gute Methode, um sicherzustellen, dass die Datei geschlossen ist, bevor Sie weitermachen, und deshalb schlägt es vielleicht inkonsistent fehl. – Mickers
Sie beginnen zu lesen, warten darauf, beginnen zu öffnen, warten darauf, schreiben und lesen gleichzeitig. Vielleicht würde eine sauberere Einrückung helfen. – Bergi