修复 Firefox 在 setInterval 上抛出错误。 [复制]

Posted

技术标签:

【中文标题】修复 Firefox 在 setInterval 上抛出错误。 [复制]【英文标题】:Fix Firefox throwing error on setInterval. [duplicate] 【发布时间】:2013-03-08 15:32:40 【问题描述】:

为什么setInterval(fetchData(), 1000*60); 在 Chrome 中工作,而在 Firefox 中抛出错误;我想将一个变量传递给 fetchdata。

   function fetchData(var) 
        .....
    ;

    fetchData(var); //run once
    setInterval(fetchData(var), 1000*60); //then repeat

堆栈跟踪:

[10:26:49.764] Error: useless setInterval call (missing quotes around argument?)
userController@http://localhost:8000/mainx.js:169
invoke@http://localhost:8000/lib/angular.js:2809
instantiate@http://localhost:8000/lib/angular.js:2819
@http://localhost:8000/lib/angular.js:4639
applyDirectivesToNode/nodeLinkFn/<@http://localhost:8000/lib/angular.js:4218
forEach@http://localhost:8000/lib/angular.js:117
nodeLinkFn@http://localhost:8000/lib/angular.js:4203
compositeLinkFn@http://localhost:8000/lib/angular.js:3851
publicLinkFn@http://localhost:8000/lib/angular.js:3763
bootstrap/</<@http://localhost:8000/lib/angular.js:932
Scope.prototype.$eval@http://localhost:8000/lib/angular.js:7840
Scope.prototype.$apply@http://localhost:8000/lib/angular.js:7920
bootstrap/<@http://localhost:8000/lib/angular.js:930
invoke@http://localhost:8000/lib/angular.js:2802
bootstrap@http://localhost:8000/lib/angular.js:929
angularInit@http://localhost:8000/lib/angular.js:904
@http://localhost:8000/lib/angular.js:14527
p.Callbacks/k@http://localhost:8000/lib/jquery-1.8.2.min.js:2
p.Callbacks/l.fireWith@http://localhost:8000/lib/jquery-1.8.2.min.js:2
.ready@http://localhost:8000/lib/jquery-1.8.2.min.js:2
D@http://localhost:8000/lib/jquery-1.8.2.min.js:2

【问题讨论】:

【参考方案1】:

使用

setInterval(function() fetchData(var), 1000*60); //then repeat

您所做的实际上根本没有传递您的论点。您需要将其包装在 anonymous function 中。

【讨论】:

【参考方案2】:

此语法不正确。您不能使用 setTimeout 或 setInterval 传递这样的变量。

setInterval(fetchData(var), 1000*60); //then repeat

请改用以下内容。

setInterval(function() 
    fetchData(var);
, 1000*60);

【讨论】:

以上是关于修复 Firefox 在 setInterval 上抛出错误。 [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何修复高度:在 Firefox 中使用 flexbox 自动修复? [复制]

Firefox/IE 填充/边距修复 [关闭]

修复边界半径在 Firefox 中的不当行为

如何修复chrome和firefox之间的字体大小差异

Firefox 和 Chrome 在 localhost 上运行缓慢;已知修复在 Windows 7 上不起作用

如何修复 Firefox 和 Chrome 之间的 CSS 填充问题?