问题标签 [unhandled-promise-rejection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3108 浏览

javascript - ESLint 可以帮助你防止 Unhandled-Promise-Rejections 吗?

eslint 是否有能力警告地方以防止 Unhandled-Promise-Rejections?

未处理的承诺拒绝已被弃用。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。- DEP0018

你知道吗,我有点喜欢引擎当前如何处理 Unhandled-Promise-Rejections;因为当您有 Unhandled-Promise-Rejection 时,不是整个服务崩溃,而是服务继续运行,并且只有依赖于错误承诺实例的部分无法完成。假设错误是由程序员在验证期间未预料到的一些用户输入引起的。有异常的异步函数继续存在以服务其他调用(那些没有相同的意外用户输入的调用)。是的,此时程序中有垃圾,以永远等待的形式永远不会解决,但对我来说,这比让服务完全崩溃更强大。

无论如何,我想其他人已经决定完美比稳健更重要。

因此,现在是时候让我的代码变得丑陋和完美了,.catch(()=>{});在我的代码中所有那些之前看起来像 MOP&GLOW 一样干净的等待之后不久就进行了附加。

ESlint 是否提供任何东西来帮助我找到没有捕获的承诺?是否有任何正在添加的规范来解决这种丑陋和不便?

就个人而言,我希望我可以将引擎配置为仅终止来自 UnhandledPromiseRejection 的承诺链中的代码。我当然想更容易地解决这个问题,而不是将所有这些添加.catch(()=>{})到我等待的所有异步函数调用中。

0 投票
1 回答
387 浏览

javascript - 未处理的承诺拒绝条带支付意图示例

我正在尝试使用节点和快递设置条纹支付应用程序,按照此处的示例: https ://stripe.com/docs/payments/accept-a-payment#web

我按照指示在服务器端应用程序代码中创建了路由,并将客户端代码插入到我的 html 文件中。我正在尝试创建没有模板引擎的应用程序,只是 html/css/javascript/node。

我收到以下错误:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。

我是新的承诺,不确定这段代码的语法应该是什么。我可以添加吗

0 投票
2 回答
640 浏览

validationerror - nhandledPromiseRejectionWarning:ValidationError:用户验证失败:密码:需要路径“密码”

我正在尝试使用 node 和 mongo 注册用户,但我得到了这个 ValidationError:

unhandledPromiseRejectionWarning:ValidationError:用户验证失败:密码:路径password是必需的。,用户名:路径username是必需的。,电子邮件:路径email是必需的。

这是我的注册功能。

这是我的用户模型

注意:我正在使用 Postman 进行测试。

0 投票
1 回答
56 浏览

node.js - 捕获中未处理的承诺拒绝

我在 catch 中收到以下错误:

Blockquote UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。

这是调用它的代码:

catch 中的 console.log 调用显示:{status: 'ERROR', code: 'EMAIL_FAIL', message: 'Email failed to send' }

调用该函数的这段代码:

为什么我会得到这个?我希望代码返回到将处理问题的调用段。有什么建议么?

0 投票
2 回答
46 浏览

node.js - 问题连接节点与 mongodb

我刚开始构建我的第一个 MERN 应用程序,当我尝试连接到 mongoDB 时,我遇到了问题。这是我的代码:

当我跑步时,这就是我得到的:

我不知道为什么会这样。这与教程中的代码完全相同。请帮忙

0 投票
1 回答
482 浏览

reactjs - 如何禁用显示“未处理的拒绝(错误):XXXXX”的反应开发错误面板?

未处理的拒绝(错误)

当出现 api 错误并通过窗口上的事件“unhandledrejection”捕获该错误时,我会抛出错误。但是在反应应用程序中,有一个如图所示的开发错误提示面板。我怎样才能禁用它,我不需要它。

0 投票
1 回答
80 浏览

javascript - Discord 嵌入命令

我尝试使用以下 ping 命令,但是当我触发它时,它给了我以下错误:

编码:

0 投票
1 回答
218 浏览

node.js - 为什么 make-promises-safe 仅用于“在顶级程序代码中”

这个make-promises-safe包改变了 Node.js 关于 Promise 中抛出的错误的默认行为。通常,在 Node 中,这些未处理的 Promise 拒绝会被记录下来,但程序会继续运行。安装后,Node.js 将在make-promises-safe遇到未处理的 Promise 拒绝时退出。这里的“安全”意味着您的程序不会有秘密的未处理拒绝,因为未处理的拒绝通常与未正确清理的资源对齐,而这些未清理的资源可能会导致长时间运行的程序出现问题。

我所理解的一切。但是,此模块带有警告

重要的是这个模块只用于顶层程序代码,而不是可重用的模块!

此警告的目的尚不清楚。为什么模块作者建议人们不要在他们自己的可重用模块中使用这个模块?

0 投票
0 回答
127 浏览

javascript - 在 Discord.js 广播中不断收到“x 不是函数”错误

我不断收到“x 不是函数”错误,无法弄清楚是什么原因造成的。

我已经尝试将播放列表管理器附加到 StreamData,但它仍然不接受它。

除了 PlaylistManager 是一个空对象之外,流数据在 on finish 发出中正确返回,并且当它到达调用 PlaylistManager 的行时,它说它不是一个函数。

错误 :

0 投票
2 回答
368 浏览

javascript - Dropbox 的 `filesGetTemporaryLink` 抛出一个无法捕获的 `UnhandledPromiseRejectionWarning` 并终止 Node.js

为了获得 Dropbox 上托管的文件的下载链接,我使用了 Dropbox JavaScript API ( 7.0.0):

问题是当path文件错误时,我得到一个 Node.js 异常:

(节点:9156)UnhandledPromiseRejectionWarning:#<Object>

(节点:9156) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在async没有 catch 块的函数内部抛出,或拒绝未处理的承诺.catch()。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝编号:2)

(节点:9156)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

我测试了几个选项并得出结论,问题出在:

我无法理解的是,为什么 Node.js 声称“未处理的承诺拒绝”“未处理的承诺.catch()UnhandledPromiseRejectionWarning并在生成它的代码被包裹时抛出异常try-catch

从 Node.js 15.xx 开始,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。因此,如何避免UnhandledPromiseRejectionWarning

临时解决方法:

使用 flag 运行--unhandled-rejections=warnNode.js。
这将防止 Node.js 进程在UnhandledPromiseRejectionWarning.