javascript - 如何否定 chrome.storage.local 中的变量

标签 javascript google-chrome google-chrome-extension

我需要否定/切换 chrome.storage.local 中变量的 bool 值,但它抛出错误:

var toggle = chrome.storage.local.get('toggle');
chrome.storage.local.set({ "toggle": !toggle }, function() {
console.log('Settings saved');
});

我尝试先获取变量,但它显示错误:调用表单 get(string) 与定义 get(可选字符串或数组或对象键,函数回调) 不匹配。 任何帮助表示赞赏!

最佳答案

由于读取是异步的,我们需要使用回调(因此出现错误消息):

chrome.storage.local.get("toggle", function(data) {               // async callback
  // check for errors via runtime.lastError

  // update settings
  chrome.storage.local.set({"toggle": !data.toggle}, function() { // invert and set
    // check for errors via runtime.lastError
    // Notify that we saved.
    console.log('Settings saved');
  });      
})

关于javascript - 如何否定 chrome.storage.local 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45859517/

相关文章:

google-chrome - SVG 在 Chrome 中透明,适用于其他浏览器

css - Twitter Bootstrap 轮播 - Firefox 中的 css 转换

c++ - 使用 Google Chrome 沙盒

javascript - 右键单击并从上下文菜单访问功能后如何获取链接的 DOM?

javascript - MySQL 注册连接错误

javascript - 如何在 javascript + html 中获取 li 类中的嵌套 div id 值

javascript - 获取并使用背景颜色在其他窗口中应用相同的颜色

google-chrome-extension - 如何在 chrome 扩展中获取与 cookie 关联的 url?

javascript - 为什么 Node.js 会将 BOM 字符转换为 0xFE 0xFF?

javascript - Aurelia 未正确转译 Set 和 Spread 运算符