我使用HTML5 FileWriter API來保存我的web應用程序的狀態。我有點JS定期調用FileWriter.write
這樣做(所以,隨着時間的推移,write
方法被稱爲幾次)。默認情況下,FileWriter API使用'append'方法來編寫不適合我需求的文件,因爲我不想覆蓋文件內容。用HTML5 FileWriter覆蓋文件
我第一次嘗試這樣的:
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
你能否詳細說明?什麼是「d」? – htulipe
@htulipe,這是我在外部使用的jQuery.Deffered對象,在截斷和寫入完成時都會收到通知。寫作完成後,您可以忽略它或添加任何其他想要執行的代碼。 –
@htulipe如果它解決了問題,請將其標記爲答案。 –