Chrome.notifications.create()在点击时给出错误的id

chrome.notifications.create() is giving the wrong id when clicked

本文关键字:出错 错误 id create notifications Chrome      更新时间:2023-09-26

第一篇。这是我在个人项目中遇到的一个问题。我曾经在这里找到过一个类似的话题,但是我再也找不到它了,而且问题没有得到回答。
我必须承认我的头衔有点奇怪,但我找不到更好的方式来解释它。不管怎样,我们走吧。

我有这个函数:
(url和时间是适当的,这不是问题)

function setTimer(url, time) {
    var timeHR = time / 1000 / 60;
    idTimerString = saveTimer(url, timeHR);
    console.log(idTimerString);
    setTimeout(function() {
        var options = {
            type: "basic",
            title: "Remind me later !",
            message: ('You asked me to remind you :'n' + url + ' 'n' + timeHR + ' minutes ago. Click to open it !'),
            iconUrl: 'img/icon.png'
        }
        chrome.notifications.create(idTimerString, options, function(cb) {
            console.log(cb);
        });
    }, time);
}

当此函数调用一次没有问题,延迟后显示正确。如果我用30mn (id = 1)创建一个调用,然后用60mn (id = 2)创建另一个调用,当我点击第一个通知时,我将收到id 2,第二个通知也是如此。
但我应该先写id 1再写id 2 !你知道为什么吗?

我的扩展已经在线,你想测试的错误,但我认为它会被认为是广告。

这很可能是闭包作用域的问题。尝试将idTimerString设置为函数

的本地
var idTimerString = saveTimer(url, timeHR);
相关文章: