[英]Syntax Error: Unexpected Identifier in for-loop in AngularJS $http.get
为什么我会收到“语法错误:意外的标识符”,为什么运行此代码后浏览器会陷入连续循环? 我正在使用setInterval根据API请求准则延迟对API的请求。
var tempArray = [];
var arr = [];
//angular controller
for (var i = 0; i < 10; i++) {
setInterval($http.get(url).success(function(data) {
tempArray.push(data);
arr.push(tempArray);
}), 1000);
}
正如@vlaz所解释的,如果要“延迟”某些内容,则需要setTimeout
。 setInterval
将连续调用提供的回调。
我有些困惑,为什么API准则会说“延迟”请求,但它们的意思是“反跳”?
无论哪种方式……“意外的标识符”语法错误都是因为您没有将函数作为setInterval
的第一个参数传递。 你需要:
setTimeout(function() {
$http.get(url).success(function(data) {
tempArray.push(data);
arr.push(tempArray);
});
}, 1000);
$http.get(url).success()
不返回setTimeout
可以调用的函数,因此您不能直接传递它。
您必须将$http
添加到Controller中。 喜欢:
myApp.controller('MainController', function MainController($scope,$http) {...}
通过使用setInterval
,代码会一次又一次地重复。 就您而言,每秒。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.