我有这个旨在在Google Chrome控制台中运行的JavaScript代码。它会不断检查json格式的响应。如果响应中的任何位置BestPrice等于max_price,则它将使用某些API进行购买。我遇到的问题是运行它大约10秒钟后,我得到了'ERR_INSUFFICIENT_RESOURCES'。
我想这是来自太多请求吗?我需要它尽可能快地循环遍历,因此,如果它不是即时的,是否存在一定的请求限制?
代码:
function snipebot(page, max_page, max_price){
$.getJSON('http://www.roblox.com/catalog/json?browse.aspx?Subcategory=2&Keyword=&CurrencyType=0&pxMin=0&pxMax=0&SortType=2&SortAggregation=0&SortCurrency=0&LegendExpanded=true&Category=2&PageNumber=' + page, function(data){
$.each(data, function(index, item){
if (item['BestPrice'] <= max_price){
$.get('http://www.roblox.com/Item.aspx?id=' + item['AssetId'], function(data){
var purchaseData = $($(data).find(".PurchaseButton")[0]).data();
if (purchaseData['expectedPrice'] <= item['BestPrice']){
$.post('/API/Item.ashx?rqtype=purchase&productID=' + purchaseData['productId'] + '&expectedCurrency=1&expectedPrice=' + purchaseData['expectedPrice'] + '&expectedSellerId=' + purchaseData['expectedSellerId'] + '&userAssetID=' + purchaseData['userassetId'], function(){
console.log('[' + item['BestPrice'] + '] @' + new Date().toTimeString())
});
} else {
console.log("Detected purchase.");
}
});
};
setTimeout(function(){
snipebot(page + 1 > max_page ? 1 : page + 1, max_page, max_price);
},100);
console.log("!checked");
});
});
};
snipebot(1, 4, 50);
当您调用时snipebot
,它发出一个请求,并查看您所使用的URL,它返回一个数组。然后,对于数组中的每个项目,您都将产生另一个snipebot
调用。这些调用中的每一个都会依次产生更多的snipebot
调用,依此类推。所以,是的,ERR_INSUFFICIENT_RESOURCES
错误并不令人惊讶。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句