带有正文分析器的Express应用程序中出现超过最大调用堆栈大小错误
Maximum Call Stack Size Exceeded Error in Express App with Body Parser
我只是偶尔会遇到这个错误,除了尝试做尽可能多的事情以在应用程序中产生尽可能大的流量之外,我真的没有任何步骤可以在应用程序中将其复制。仍然不确定这是某个中间件的问题还是完全是其他的问题。我目前在应用程序中使用身体解析器,这是根据他们的指令设置的。
如果我使用Postman,当我调用OPTIONS/server_url时,我会返回此错误。当此错误触发时,它将始终为OPTIONS、POST和DELETE的所有网络请求生成此错误,这些请求需要为CORS相关的内容执行。无论出于何种原因,GET和PUT请求似乎仍然可以正常工作。
RangeError: Maximum call stack size exceeded
at proxy (../node_modules/express/lib/router/index.js:643:8)
at next (../node_modules/express/lib/router/index.js:206:14)
at Layer.handle [as handle_request] (../node_modules/express/lib/router/layer.js:97:5)
at ../node_modules/express/lib/router/index.js:277:22
at param (../node_modules/express/lib/router/index.js:349:14)
at param (../node_modules/express/lib/router/index.js:365:14)
at Function.process_params (../node_modules/express/lib/router/index.js:410:3)
at next (../node_modules/express/lib/router/index.js:271:10)
at next (../node_modules/express/lib/router/route.js:121:14)
at next (../node_modules/express/lib/router/route.js:125:14)
at next (../node_modules/express/lib/router/route.js:125:14)
at next (../node_modules/express/lib/router/route.js:125:14)
at next (../node_modules/express/lib/router/route.js:125:14)
at next (../node_modules/express/lib/router/route.js:125:14)
at next (../node_modules/express/lib/router/route.js:125:14)
at next (../node_modules/express/lib/router/route.js:125:14)
经过多次尝试,我甚至不知道该从哪里开始。如果我重新启动我的应用程序,它将再次正常工作,直到我在应用程序中做了足够的工作,它再次触发此错误。此外,据我所见,应用程序中的内存利用率是正常的,服务器仍然有足够的内存可用。
该问题与一个中间件有关,该中间件正在调用next()并在之后执行大量操作。包装下一个进程。nextTick()暂时解决了调用堆栈问题。我应该注意的是,使用节点检查器来定位问题
我通过这个解决了我的问题。
var bodyparser = require('body-parser');
而不是app.use(bodyparser.urlencoded({ extended: false }));
写这个
var urlencodedParser = bodyparser.urlencoded({ extended: false });
它可能看起来像某个地方的内存泄漏,某个地方有无限循环,或者请求没有完成(这可能不是真的,因为请求的默认超时为1000s)。
相关文章:
- JavaScriptajax请求servlet调用错误回调函数
- 在firefox中,使用jquery ajax不会调用错误和完整回调
- AJAX rest调用错误”;意外的令牌<&”;
- 非法调用错误 jquery
- 如何修复chrome扩展内联JavaScript调用错误
- 调用module.exports上的函数时发生CommonJS非法调用错误
- JavaScript私有函数调用错误
- AngularJS在使用method:POST时$resource调用错误的API URL
- xwiki REST ajax 调用错误
- 特威利奥:首次通话成功;第二个和后续调用错误
- 在未实现接口 XMLHttpRequest 的对象上调用错误“open”
- 未捕获的类型错误:从 ajax 发送数据时出现非法调用错误
- Ajax调用错误的方法
- DWR 在 Javascript 中调用错误
- 如何使用 c# MVC4 在 $.ajax 中调用错误函数
- 仅在某些浏览器上调用错误
- Amazon AWS listObjects 调用错误
- ajax表单提交但调用错误函数
- AngularJS REST调用错误
- console.log传入函数时发生非法调用错误