为什么setInterval(fetchData(), 1000*60);
在Chrome中运行时出错?我想将变量传递给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
答案 0 :(得分:3)
使用
setInterval(function() {fetchData(var)}, 1000*60); //then repeat
你正在做的事实上根本没有传递你的论点。您需要将其包装在 anonymous function 。
中答案 1 :(得分:2)
此语法不正确。你不能使用setTimeout或setInterval传递这样的变量。
setInterval(fetchData(var), 1000*60); //then repeat
请改用以下内容。
setInterval(function() {
fetchData(var);
}, 1000*60);