如何在chrome.storage.local中检索大量数据?

时间:2018-11-12 14:54:25

标签: javascript google-chrome google-chrome-extension

我正在创建一个Chrome扩展程序,该扩展程序需要存储大量数据。我已经设置了unlimitedStorage权限,并且通过调用chrome.storage.local.set成功地存储了信息。但是,我无法拨打电话chrome.storage.local.get。当我像chrome.storage.local.get(null, () => {})这样简单的通话时,Chrome崩溃。

我的问题似乎与chrome.storage.local.get limit相似,只是该问题涉及的数据量要少得多,而且真是偶然。当我致电chrome.storage.local.getBytesInUse(null, i => console.log(i))时,我得到176031461的结果。 (不可否认,180 MB超出了Chrome扩展程序通常应使用的数量,但是此扩展程序将在我自己的计算机上运行。)

我希望能够将所有这些数据保存到JSON文件中,但是要做到这一点,似乎需要先将其带入内存中,唯一的方法是通过{{1} }。我正在尝试使用Chrome Extension: Local Storage, how to export中描述的方法来下载数据,但它甚至没有涉及回调函数。我不确定是什么原因导致它崩溃,并且我不认为这是内存限制,因为我已按照Max memory usage of a chrome process (tab) & how do I increase it?上的说明将Chrome的最大内存增加到4 GB。

一种可能的解决方案是将第一个参数设置为chrome.storage.local.get以外的其他参数,然后分块下载数据,但是如果不需要的话,我宁愿不这样做。

我的问题是:

  1. 通过这种方式可以检索的存储量有什么限制?
  2. 我有什么办法可以一次获取所有数据而不会崩溃?
  3. 我是否有更好的方法从Chrome扩展程序中保存文件?

0 个答案:

没有答案