Javascript 获取引用错误:未定义setInterval

Javascript 获取引用错误:未定义setInterval,javascript,firefox,firefox-addon,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Firefox Addon Sdk,我试图在使用firefox插件sdk开发的扩展中使用setInterval()。不幸的是,无论我如何调用setInterval(),我总是得到一个ReferenceError,即没有定义setInterval 我简化了我的代码来说明这个问题。以下代码导致此错误: var globalTimer = 0; function setGlobalTimer() { globalTimer = setInterval(testFunction, 15000); //globalTime

我试图在使用firefox插件sdk开发的扩展中使用setInterval()。不幸的是,无论我如何调用setInterval(),我总是得到一个ReferenceError,即没有定义setInterval

我简化了我的代码来说明这个问题。以下代码导致此错误:

var globalTimer = 0;

function setGlobalTimer() {
    globalTimer = setInterval(testFunction, 15000);
    //globalTimer = setInterval(function() { testFunction(); }, 15000);
}

function testFunction() {
    console.log("testFunction just called");    
}

var { ToggleButton } = require("sdk/ui/button/toggle");
var button = ToggleButton({
    id: "my-button",
    label: "my button",
    icon: {
      "16": "./icon-16.png",
      "32": "./icon-32.png",
      "64": "./icon-64.png"      
    },
    onClick: handleClick
});


function handleClick(state) {
    testFunction();
    setGlobalTimer();
}
在setGlobalTimer()中设置全局变量globalTimer的两种方法,其中一种方法被注释掉,当我在Firefox中单击我的切换按钮时,会导致以下错误:

ReferenceError:未定义setInterval 我已经扫描了stackoverflow站点,查找有关setInterval()不起作用的问题,在其他情况下,使用我正在使用的调用已经起作用。但是这段代码为我生成了上面的错误

如果有人能帮我解决这个问题,我将不胜感激


提前感谢。

setInterval
目前还不是附加sdk的全局版本


您需要使用它,就像这样
var{setInterval}=require(“sdk/timers”)

可能会重复Awesome!!使用引用的线程Alexander的信息解决。我使用
var tmr=require('sdk/timers')解决方案,然后我设置
globalTimer=tmr.setInterval(testFunction,15000)
setInterval
是隐式
窗口。setInterval
。您无权访问SDK上下文中的窗口对象。