javascript - 如何将 chrome.alarms.getAll 回调设置为变量?

标签 javascript google-chrome google-chrome-extension

我正在尝试使用 chrome.alarms.getAll() 方法将警报数量返回到我可以使用的变量中,但由于它所在的范围,我在执行此操作时遇到了麻烦。我不太清楚如何取出来,有人可以帮忙吗?无效的代码:

function query() {
  var count; 
  chrome.alarms.getAll(function(alarms) { count = alarms.length; }); 
  return count; 
}

var numAlarms = query(); //undefined

numAlarms 返回未定义,即使我有 2 个警报并且在使用时可以看到它

chrome.alarms.getAll(function(alarms) { console.log(alarms) };

最佳答案

使用回调函数进行查询

function query(callback) {
    var count; 
    chrome.alarms.getAll(function(alarms) { callback(alarms.length) }); 
}

query(function(count) {
    var numAlarms = count;
});

关于javascript - 如何将 chrome.alarms.getAll 回调设置为变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33135273/

相关文章:

javascript - Highcharts 图表仅在调整窗口大小时正确显示

javascript - 原型(prototype)到 JavaScript

javascript - 我的按钮需要点击两次才能为第一次点击 React 渲染新组件

javascript - 可能的 Chrome 45 错误 : removeChild method causes other nodes in parent element to disappear

google-chrome - 检测 "Error 106 net::ERR_INTERNET_DISCONNECTED)"

javascript - Chrome扩展程序如何检测特定选项卡中的域已更改

javascript - 使用 javascript/jQuery 将 li 列表拆分为列

html - 是否可以在 CSS 中读取 HTML?

javascript - 脚本未在 Chrome 上运行

javascript - ESLint: 'chrome' 未定义 (no-undef)