首页 > 解决方案 > Node JS 应用程序在两个客户端访问后崩溃。奇怪的行为

问题描述

我的项目包含一个 API,它将从应用程序(AppA)发送的信息存储在 php 中,并在 Angularjs 中有一个管理/管理前端。

问题是,当我尝试访问前端并检查该信息时,从 AppA 发送信息后,后端的行为很奇怪,它会抛出无法复制的错误(意味着相同的信息不会再次抛出错误)或将进入无限循环。

后端应用程序使用 Expressjs,并有几个主要使用OOP的进程的端点,它使用 mongoose 连接到 mongodb 数据库。

它使用大量 async/await 位来验证数据库的信息(这是因为从数据库中提取的动态结构(包括请求中描绘的结构)),甚至使用一些文字 Promise 来使用“异步”getter 和 setter。

这种动态结构需要使用递归函数(有时会中断并导致那些无限循环,我在这一点上猜测),它将数据(如对象或数组)解构为更简单的数据(如字符串或 objectIds)。

有一些静态方法(一个类中总共有 4 个),但它们只能访问自己,没有任何静态信息。

这些错误是不可预测的,意味着在前面提到的事件之后不会 100% 发生,所以我发现很难追踪它们,但发现它们主要出现在这两个客户端访问时(不确定是否完全)。

当发生错误时,我必须重新启动应用程序,并且上次请求中的相同信息这次不会引发任何错误。

标签: node.jsapiasynchronousrecursionasync-await

解决方案


推荐阅读