【发布时间】:2013-10-25 22:36:08
【问题描述】:
我正在使用HTML5 FileWriter API 来保存我的网络应用程序的状态。我有一些 JS 会定期调用 FileWriter.write 来执行此操作(因此,随着时间的推移,write 方法会被多次调用)。默认情况下,FileWriter API 使用“追加”方法来写入不适合我需要的文件,因为我不想覆盖文件内容。
我第一次尝试这个:
this._writer.seek(0);
this._writer.write(content);
当您编写的文本比文件内容短时,这不起作用。然后我尝试了这个:
this._writer.truncate(0);
this._writer.write(content);
这段代码应该清除文件,然后写入我的新内容,但在调用 write 方法时出现以下错误:
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.
奇怪的事情:当我调试代码时(带断点),错误并没有发生,好像FileWriter.truncate是一个异步方法......
我被困在这里,有什么想法吗?
我正在使用 Chrome 30.0.1599.69
【问题讨论】:
标签: javascript html chromium fileapi