我正在从 AJAX 查询中加载一些 JSON 数据:
$.ajax({'url': url, type: params.method, 'data': data, timeout: this.settings.timeout, success: function(d,a,x){
console.log('request Complete',params.endpoint,params.params);
var json = null;
try {
json = JSON.parse(d);
} catch(e) {
console.error(e);
}
console.log('json');
// omitted for brevity...
}
});
我在 chrome 中看到偶尔的“Aw,Snap”崩溃,其中最后一个 console.log 是“请求完成”(错误或第二个日志永远不会显示)。
我想重要的是要注意数据可能很大(有时大到〜15Mb),这就是为什么我没有打印出d
每个请求并寻找格式错误的JSON(但是......我可能会导致那个) . FWIW,我也试过$.parseJSON
而不是JSON.parse
我对“Aw, Snap”错误所做的研究充其量是模糊的。我最好的猜测是这是一个OOM。不幸的是,我无法减少结果集的占用空间。
有什么方法可以让我至少优雅地失败?