首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS中的极限回波深度

NodeJS中的极限回波深度
EN

Stack Overflow用户
提问于 2020-04-22 20:11:16
回答 1查看 1.3K关注 0票数 0

是否有一种方法可以限制递归的深度,而不是--stack-size选项?

我知道NodeJS将允许您通过--stack-size选项控制调用堆栈的大小。也就是这样的程序

代码语言:javascript
复制
const recurse = (num=0) => {
  context.num++
  recurse(++num)
}
const context = {
  num:0
}
try {
  recurse(context)
} catch(e) {
  console.log('Took ' + context.num + ' trips before bailing')
}

默认情况下会输出类似的内容。

代码语言:javascript
复制
$ node so.js 
Took 12530 trips before bailing

但是,您可以使用--stack-size来告诉节点您希望在退出之前让堆栈获得多大(以kb为单位)。使用更大的堆栈,您将得到更多的递归。

代码语言:javascript
复制
$ node --stack-size=5000 so.js 
Took 63935 trips before bailing

--stack-size选项是Node的V8选项之一。通过运行node --v8-options,您可以看到所有这些选项的列表。

我想知道的是,NodeJS中是否有一种方法可以显式地将递归深度限制在某个特定的数字上。

在这里,我没有一个具体的目标--我只是想了解NodeJS所做的工具,以及与我所使用过的其他语言相比没有的工具。如果node没有这个,没关系--我只是在这里学习:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-23 16:43:21

根据我的研究,这似乎是不可能的。这是刚刚打开的功能请求在NodeJS存储库中可能有助于了解事情的真相。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61374279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档