2017-09-02 2 views
-2
ändert

Also ... ich habe eine JSON-Datei, die nach einer Funktion ändern passieren wird, imeine JSON-Datei lesen, die kontinuierlich

var jsonFile = require('./abc.json')

Verwendung Aber die Daten werden nicht aktualisiert, bis ich neu starten, dass js Datei. Wie dem auch sei, um es zu aktualisieren, wenn ich etwas in der JSON-Datei ändern

diese Funktion mit
+2

Sie suchen für ein ** Beobachter suchen **. –

+0

erstaunlich. Daumen runter meine Post ohne mir zu sagen, was ich falsch gemacht habe –

Antwort

0

Sie fs.watchFile() verwenden können, um die Datei, und wirken auf den Fall der Veränderung zu sehen, wie folgt aus:

fs.watchFile('abc.json', (curr, prev) => { 
    console.log('updated file: '+ curr); 
}); 

Eine andere Methode ist effizienter zu verwenden fs.watch().

+0

so mit 'fs.watchFile' wird es für die js-Datei zu aktualisieren ist, gibt es irgendwelche Änderungen in der Datei –

+0

@LeeJingYong Ja, es wird ein Ereignis, jedes Mal erstellen Datei ist verändert. Die mit require importierte Datei wird nicht aktualisiert. Stattdessen gibt es Ihnen die aktualisierte Datei im Callback und Sie müssen Ihre Logik darin schreiben. – tbking

0

Es ist schwierig zu verstehen, was Sie fragen, aber es klingt wie ein benutzerdefiniertes NPM-Skript könnte tun, was Sie wollen.

Erster Aufruf der Update-Funktion, dann lesen Sie die json es gibt (& & sicher macht es synchron ist)

scripts: { 
    getjson: "node './updatejson.js' && node './readjson.js'" 
} 

npm run getjson 
+0

die Sache, die die JSON-Datei aktualisiert wird, ist eine Synchronisierungsfunktion, die Daten von einer Webseite abholen und die Daten in die JSON-Datei speichern –

+0

@LeeJingYong Sie sind wahrscheinlich besser dran mit fs.watchFile –

+0

ich sehe, danke für die Hilfe –

Verwandte Themen