Überschreibe eine Datei mit HTML5 FileWriter

Ich benutzeHTML5 FileWriter API um den zustand meiner webapp zu retten. Ich habe etwas von JS, das regelmäßig anruftFileWriter.write dazu (also im Laufe der Zeit)write Methode wird mehrfach aufgerufen). Standardmäßig verwendet die FileWriter-API einen Append-Ansatz zum Schreiben von Dateien, der nicht meinen Anforderungen entspricht, da ich den Dateiinhalt nicht überschreiben möchte.

Ich habe es zuerst versucht:

this._writer.seek(0);
this._writer.write(content);

Dies funktioniert nicht, wenn Sie einen Text schreiben, der kürzer als der Dateiinhalt ist. Ich habe es dann versucht:

this._writer.truncate(0);
this._writer.write(content);

Dieser Code soll die Datei löschen und dann meinen neuen Inhalt schreiben, aber ich erhalte die folgende Fehlermeldung, wennwrite Methode heißt:

Uncaught InvalidStateError: An operation that depends on state cached in an interface object was made but the state had changed since it was read from disk.

Seltsame Sache: Wenn ich den Code debugge (mit einem Haltepunkt), tritt der Fehler nicht auf, als obFileWriter.truncate war eine asynchrone Methode ...

Ich stecke hier fest, irgendwelche Ideen?

Ich verwende Chrome 30.0.1599.69

Antworten auf die Frage(5)

Ihre Antwort auf die Frage