Object 如何导航边缘扩展本地存储回调要求

Object 如何导航边缘扩展本地存储回调要求,object,callback,storage,microsoft-edge,microsoft-edge-extension,Object,Callback,Storage,Microsoft Edge,Microsoft Edge Extension,我正在尝试使用弹出脚本访问“选项”页面设置的Edge中的本地存储数据。是否有这方面的最新工作示例 我使用的是localStorage,但只有在保存选项页面中的更改后重新加载扩展时,它才会更新弹出窗口。我想通过允许弹出窗口在保存后立即访问它,而无需重新加载,让用户更容易使用。我找到了browser.storage.local.get(),但到处都有文档冲突,我找不到可行的工作示例 根据Edge文档,我使用过: browser.storage.local.get("sample"); 但是它抛出

我正在尝试使用弹出脚本访问“选项”页面设置的Edge中的本地存储数据。是否有这方面的最新工作示例

我使用的是localStorage,但只有在保存选项页面中的更改后重新加载扩展时,它才会更新弹出窗口。我想通过允许弹出窗口在保存后立即访问它,而无需重新加载,让用户更容易使用。我找到了browser.storage.local.get(),但到处都有文档冲突,我找不到可行的工作示例

根据Edge文档,我使用过:


browser.storage.local.get("sample");
但是它抛出了一个需要回调函数的错误。于是我用了:

let sample = browser.storage.local.get("example");
sample.then(ifGood, ifBad);
我得到一个关于属性“then”的错误

然后,我只是尝试向操作本身添加回调:

sample = browser.storage.local.get("example", callbackFunction);

function callbackFunction(data){
    alert(data);
}

结束警报应该显示一个字符串,但它只显示一个空对象。如何访问回调中返回的数据?我尝试将
callbackFunction(this)
作为get中的一个参数,但它抛出了一个有关get语法的错误。

我在保存更改时在选项页中找到了使用
browser.runtime.reload()
的解决方法。它仍然会重新加载扩展,但它不需要用户手动加载扩展。

您应该使用以下语法:
browser.storage.local.get(propertyName | null,callbackFn)

其中
callbackFn=函数fn(resultObject){…}

当您通过
null
时,您将获得整个存储对象


在“我的边缘”扩展中查找或。

这是边缘中的一个公共问题,它不支持边缘浏览器中的回调函数。您可以检查:“Microsoft Edge扩展不支持Promise模型;这是Mozilla和Edge平台之间的差异。目前,我们不打算发布修复程序。”我已经看到了这一点,所以我的问题是,在Edge扩展中解决本地存储问题的最佳方法是什么?是不是每次用户在选项中保存某些内容时,都会咧嘴笑着忍受,让用户重新加载扩展?效率有点低,但我想如果是这样的话。。。