首页 > 解决方案 > 如何在循环中调用返回 JSON 的 URL

问题描述

Keys 数组包含 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 个键数据后。我的程序因错误而停止。

SyntaxError: JSON.parse () 位置 0 处 JSON 中的意外标记 u

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

标签: jsonnode.jsasynchronoussyntax-error

解决方案


是不是因为 NodeJS 的异步特性?

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

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


推荐阅读