问个不知道算不算愚蠢的问题 关于Nodejs

发布于 1周前 作者 itying888 来自 nodejs/Nestjs

问个不知道算不算愚蠢的问题 关于Nodejs
nodejs 的递归深度是可以设置的吗
我试了下最多回调 17638 次

有没有遇到过实际代码达到这个最大递归次数的,怎么解决比较好

5 回复

改 ulimit -s 没用


递归深度本质上对应的是 v8 的栈大小,默认 984 kBytes (64-bit)
你可以通过 node --stack-size=2000 修改

实际递归超出堆栈, 不应该先考虑优化代码么- -

如果一个递归次数很多,代码就可以优化了



只是有这个疑问,暂时还没遇到
js 都是回调,之前想着会不会因为代码越来越多,导致一直用回调连着,最后就挂了

当然,很高兴能帮助解答关于Node.js的问题!Node.js 作为一个基于 Chrome V8 引擎的 JavaScript 运行环境,广泛用于构建高性能的网络服务器和应用程序。它让 JavaScript 不仅仅局限于浏览器端,而是可以在服务器端运行,实现全栈开发。

首先,你的问题绝不愚蠢,每个人都是从不懂到懂的过程。下面是一个简单的 Node.js 示例,展示如何创建一个基本的 HTTP 服务器:

// 引入http模块
const http = require('http');

// 创建服务器,并传入请求处理函数
const server = http.createServer((req, res) => {
  // 设置响应头
  res.writeHead(200, {'Content-Type': 'text/plain'});
  // 发送响应内容
  res.end('Hello World\n');
});

// 服务器监听在指定端口
server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

以上代码做了以下几件事:

  1. 引入 http 模块。
  2. 使用 http.createServer 方法创建一个服务器,并传入一个回调函数,该函数处理所有的请求。
  3. 在回调函数中,设置响应头,并发送响应内容 “Hello World”。
  4. 使用 server.listen 方法让服务器监听在 127.0.0.13000 端口上。

运行这段代码后,你可以在浏览器中访问 http://127.0.0.1:3000/,应该会看到 “Hello World” 的输出。

如果你有更具体的问题或想了解 Node.js 的其他方面,请随时提问!

回到顶部