JQuery Ajax限制了深度递归"过多的递归"

时间:2015-11-28 23:37:54

标签: javascript jquery json ajax recursion

我的想法是,我向 API 发送了大量同步请求,以创建 JSON ,稍后我将需要进行一些群集化。此 API 为我提供了有关网站(scopus.com)的文章,评论等信息。首先,我根据查询发送请求,我从中获得 JSON ,其中包含有关某些文章的信息。这些文章被其他文章引用。我必须获得有关这些的信息,所以我需要递归。问题是我得到一个错误,因为"过多的递归"。当递归结束并且程序必须返回到" root" /第一次调用时,似乎出现错误。所以程序看起来就像一棵很深的树。

Pure Javascript也有这个限制吗?我该怎么办?

此外,我必须执行 SYNCHRONOUS 请求,否则 JSON 我将会变得一团糟。

修改

我在需要小递归的查询上测试了脚本,例如4-5级的树。

>>> gpstest1.__dict__
{'total_cazac_bw': 1920000.0, 'rician_kdb': 8, 'simulation_mode': 'AWGN', 'number_sub_carriers': 128, 'snr_db': 15, 'snir_db': None, 'reference_nodes': 7}

1 个答案:

答案 0 :(得分:0)

问题就像trincot提到的那样,我也认为是2篇或更多的文章相互引用,形成一个无限循环。我通过在我的字符串变量中搜索唯一标识符来修复它。因此,如果我的变量已经存在并且带有该标识符的文章,我将跳过当前文章的递归。

所以我再次测试我的脚本以获得相对较短的查询(返回了数百篇文章),因为有大量输出的查询(数百万篇文章)。当我将搜索大查询时,我可能会遇到字符串大小限制(特定于浏览器)甚至“过多的递归”。如果是这样,我会告诉你。

建议:如果你的ajax请求首先发现“太多的递归”错误,那么首先是无限循环,因为这是最可能的原因。