您能否将事件侦听器定位到特定的 Chrome 警报?

Can you target an event listener to a specific Chrome Alarm?

我正在尝试创建一个使用两个不同警报的 Chrome 扩展,使用 Chrome 警报 API。我想创建两个特定的侦听器,每个侦听器由不同的警报处理:

chrome.alarms.onAlarm.addListener(function(timer) {
  reminder.displayMessage();
});

chrome.alarms.onAlarm.addListener(function(walk) {
  reminder.displayWalkMessage();
});


chrome.alarms.create('timer', {
  delayInMinutes: 5,
  periodInMinutes: parseInt(time)
});


chrome.alarms.create('walk', {
  delayInMinutes: 30,
  periodInMinutes: 60
});

我遇到的问题是,似乎当一个警报触发时,两个事件处理程序都会被触发。有没有办法指定警报触发哪个处理程序?

用一个事件监听器替换两个事件监听器:

chrome.alarms.onAlarm.addListener(function(alarm) {
  if(alarm.name === "timer"){
      reminder.displayMessage();
  }
  else if(alarm.name === "walk"){
      reminder.displayWalkMessage();
  }
});

onAlarm is an object of type alarm回调函数的参数。