代码之家  ›  专栏  ›  技术社区  ›  Mudabbir Pasha

如何在循环中调用返回JSON的URL

  •  1
  • Mudabbir Pasha  · 技术社区  · 6 年前

    密钥数组包含1000个项目密钥。

    for (var i = 0; i < Keys.length; i++){
        httpRequest("https://hostname/api/issues/projectKeys="+Keys[i]+"?format=jSON",
            function (err, res, body) {
                 var jsonObj = JSON.parse(body);
                 issue.push(jsonObj.total);
              //   console.log(issue.length);
    
            }).auth(global.username, global.password);
    
    }
    

    httpRequest中的URL返回JSON。 当我运行这个程序时,在检索到50-60个键的数据之后。 我的程序因错误而停止。

    语法错误:JSON中位于位置0的意外标记u 在JSON。解析()

    这是因为NodeJS的异步特性吗? 请帮助我如何在一个循环中调用URL 1000次。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Brad    6 年前

    这是因为NodeJS的异步特性吗?

    不是直接的。这可能是由于您的应用程序淹没了您遇到的任何API,并且您受到了速率限制或其他一些错误。

    您应该查看响应状态代码,以确定您的响应是否正常。如果出现错误,您应该记录这些响应。响应中可能有一些文本错误消息。

        2
  •  0
  •   Shubham Tripathi    6 年前

    Check this ,如何在节点中正确进行API调用。 然后,在执行任何处理之前,从服务器返回响应后,始终执行空/未定义或空响应检查。