json - 如何在循环中调用返回 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 次。
解决方案
是不是因为 NodeJS 的异步特性?
不是直接的。这可能是由于您的应用程序淹没了您正在访问的任何 API,并且您遇到了速率限制或其他一些错误。
您应该查看响应状态代码来确定您的响应是否正常。如果出现错误,您应该记录这些响应。响应中可能有一些文本错误消息。
推荐阅读
- python - 注册鼠标事件的不可见窗口
- nginx - 如何通过 Nginx-sticky-module 在两个上游中使用一个 Nginx Cookie(路由)
- java - 如何在 JSP 中指向另一个页面?
- php - 带有可选下划线和数字的 PHP 正则表达式
- azure - Azure 组声明返回对象 ID - 需要组名称
- python - 在 python read_csv 执行中处理坏行
- lisp - osicat-posix:stat 冻结
- swift - 如何在 iOS 应用程序上清除/无效环境缓存
- java - akka eventbus - 消息保证 - 发布到总线保证
- sql-server - 基于点位于给定多边形内将多边形表连接到点表时出错