javascript - Chrome 扩展 - 存储在对象中设置特定键而不覆盖对象的其余部分?
问题描述
我在存储中有这个对象
chrome.storage.sync.set({
user: {
extensionMode: "filter",
list: ["42", "42", "42"]
}
}, () => { });
现在,在不同的地方,我想更改extensionMode:
chrome.storage.sync.set({user: { extensionMode: wantedMode }}, () => { });
那是覆盖user.list。如何仅更改extensionMode而不会覆盖其余用户?
解决方案
我这么胖的最佳答案是:
chrome.storage.sync.get("user", (res) => {
let updatedUser = res.user;
updatedUser.extensionMode = wantedMode;
chrome.storage.sync.set({ user: updatedUser }, () => {
// Code
});
});
有用!只是有点混乱,使回调变得更糟:
还有其他想法吗?
推荐阅读
- assembly - 在屏幕上显示缓冲输入
- magento2 - 在 Magento 2.3 中覆盖/重写第三方模型不起作用
- amazon-redshift - Redshift 弹性调整大小——降级集群有多难?
- keras - 在这种情况下,哪个模型更好?
- ruby-on-rails - 是否可以/建议在没有 webpack(er) 的情况下运行 Rails 6?
- html - 如何使用 CSS(和 sass)使水平线垂直?
- r - 在 R 中执行分类变量的排列
- angular - Ionic 5、Angular 9 应用程序未在 Prod 构建中加载。但适用于离子发球。控制台没有错误
- r - 在已排序的数据框列表中查找元素的平均位置
- r - 使用 geom_text_repel 自定义在行尾显示的标签