javascript:setInterval执行而不停止

时间:2012-07-24 17:54:02

标签: javascript google-chrome google-chrome-extension

我正在创建Chrome扩展程序,我需要使用间隔。

每次间隔熄灭的时间由用户自己选择。

该功能在每个打开的选项卡上执行,并向其发送数据。

我的问题是“计时器”不应该像它应该的那样工作,它只是像普通的while循环那样立即执行。

以下是代码:

chrome.tabs.query({}, function (tabs) {
//the times the code need to run is by the amount of tabs that is open
        setInterval(function () {
            if (i < tabs.length) {

                chrome.tabs.sendRequest(tabs[i].id, { input: "uCanSend",

                    userName: myName,
                    password: myPass,

                    subject: mySubject, msg: myMsg,

                    linkName1: myLinkName1,
                    linkURL1: myLinkURL1,

                    linkName2: myLinkName2,
                    linkURL2: myLinkURL2

                }, function (response) { });

            }
            i++;
        }, timeInMintus //the time that the code need to run every time);
    });

我不知道我做错了什么。 任何想法如何解决它将正确运行?

(对不起我的英文)

2 个答案:

答案 0 :(得分:2)

第二个参数需要以毫秒(千分之一秒)为单位。根据变量名称,您似乎已经过了几分钟。例如,如果您希望回调每分钟运行一次:

setInterval(function () { /* snip */ }, 1000*60);

答案 1 :(得分:0)

Chrome会在非活动标签上排队setTimeout / setInterval并更改minimal timeout length