所以我想在Parse上获取大量的数据,我发现一个好的解决方案就是做一个递归函数:当数据成功找到时,启动另一个请求。我在做它的方式很简单:用Node.js解析SDK JavaScript ENOTFOUND
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,当然),所以我上搜索解析文档,并说同样的事情:“收到错误无效的JSON”。是啊。
我使用由Parse.com提供的解析SDK(npm install parse
)
我也试图修改位以上的文件parse/node_modules/xmlhttprequest/lib/XMLHttpRequest.js
361线由“主机名”替换host
键的解析代码(解析软件包版本:1.5.0),它没有工作,所以我删除了我的更改。
(顺便说一句,我找到了解决办法谈论使用ulimit
改变这一问题会得到解决内存使用限制,但实际上,我没有必要的权限才能执行此命令)
ulimit解决方案是什么? – smremde
我发现它[这里](https://www.parse.com/questions/received-an-error-with-invalid-json-from-parse-error-connect-emfile),但实际上它不是一样的错误 –