繁体   English   中英

语法错误:AngularJS $ http.get中的for循环中的意外标识符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM