gpt4 book ai didi

javascript - 使用 Node.js 解析 SDK JavaScript ENOTFOUND

转载 作者:IT老高 更新时间:2023-10-28 23:21:40 25 4
gpt4 key购买 nike

所以我想在Parse上获取大量数据,我发现一个很好的解决方案是做一个递归函数:当成功找到数据时,发起另一个请求。我的做法很简单:

var containedLimit = 1000, // Also tried with 500, 300, and 100
parseUsersWaiting = {
// A lot of Users
},
parseUsers = {}, // Recipt for Users
getPlayers = function (containedIn) {
var count = 0;

if (containedIn == undefined) {
containedIn = [];

for (var i in parseUsersWaiting) {
count++;
if (count > containedLimit) {
break;
}

containedIn.push(parseUsersWaiting[i].id);
delete parseUsersWaiting[i];
}
}

var UserObject = Parse.Object.extend('User'),
UserQuery = new Parse.Query(UserObject);

UserQuery.limit(containedLimit);

UserQuery.containedIn('objectId', containedIn);
UserQuery.find({
success: function (results) {
if (results) {
for (var i in results) {
if (parseUsers[results[i].id] == undefined) {
parseUsers[results[i].id] = results[i];
}

// Other stuff

if (results.length < containedLimit) {
// End of process
} else {
getPlayers();
}
}
} else {
// Looks like an end of process too
}
}, error: function (error) {
console.log(error.message);
getPlayers(containedIn);
}
});
};

现在,这就是我想称之为“问题”的地方:经常发生的情况是,“错误”回调是通过以下方式启动的:

Received an error with invalid JSON from Parse: Error: getaddrinfo ENOTFOUND api.parse.com
at errnoException (dns.js:44:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:94:26)

(当然是代码 107)所以我搜索了 Parse 文档,它说的完全相同:“收到无效 JSON 的错误”。是的。

我正在使用 Parse.com 提供的 Parse SDK (npm install parse)

我还尝试通过在文件 parse/node_modules/xmlhttprequest/lib/XMLHttpRequest.js(解析包版本:1.5.0),但它不起作用,所以我删除了我的更改。

(顺便说一句,我找到了一个解决方案,说使用 ulimit 更改内存使用限制可以解决问题,但实际上,我没有执行此命令的必要权限)

最佳答案

当它无法连接到 API 时会发生此错误(技术上当它无法查找 API 服务器的 IP 地址时)。可能您的 Internet 连接暂时中断了,或者他们的 SDK 服务器不可用(或者服务器可能由于速率限制而拒绝您的请求)。

无论哪种方式,最好在您的应用程序中编写一些弹性代码。我看到您的 on error 函数会重试 API 调用,但也许值得在您这样做之前添加一个超时以使问题有机会恢复?

    error: function (error) {
console.log(error.message);
setTimeout(getPlayers, 10000, containedIn);
}

如果服务器对您的请求进行速率限制,这也会有所帮助。

关于javascript - 使用 Node.js 解析 SDK JavaScript ENOTFOUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32070616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com