如何在Firefox浏览器上完全可靠地完成异步操作?

时间:2013-05-10 02:25:59

标签: javascript firefox asynchronous firefox-addon

我正在为Firefox编写一个浏览器扩展程序,它使用IndexedDB来保存本地数据。当浏览器关闭时,我想将最新数据写入我的IndexedDB。但是,IndexedDB完全是异步的,似乎Firefox在异步写入完成之前关闭。 (我可以看到正在创建数据库文件,并且在浏览器关闭时丢弃日记文件。)有没有办法在Firefox关闭时可靠地完成异步操作?

1 个答案:

答案 0 :(得分:0)

您可以使用eventlistener(您可能已经将它写入数据库)来监听窗口关闭事件和preventDefault,直到您完成存储事物,然后关闭回调窗口。< / p>

window.addEventListener("close", function(e) {
    e.preventDefault(); 
    //Save your things
    //Call window.close on the callback
    window.close();
}, false);

stackoverflow上还有一个different question可能有更好的方法来监听应用程序关闭而不是关闭窗口。但过程也是类似的。