我在Node-Express应用程序中遇到以下错误
UnhandledPromiseRejectionWarning:未处理的承诺拒绝。该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了未使用.catch()处理的诺言而引起的。(拒绝ID:4)
至少可以说,我创建了一个类似于以下内容的辅助函数
const getEmails = (userID, targettedEndpoint, headerAccessToken) => {
return axios.get(base_url + userID + targettedEndpoint, { headers: {"Authorization" : `Bearer ${headerAccessToken}`} })
.catch(error => { throw error})
}
然后我导入此辅助函数
const gmaiLHelper = require("./../helper/gmail_helper")
并像这样在我的api路由中调用它
router.get("/emailfetch", authCheck, async (req, res) => {
//listing messages in users mailbox
let emailFetch = await gmaiLHelper.getEmails(req.user._doc.profile_id , '/messages', req.user.accessToken)
.catch(error => { throw error})
emailFetch = emailFetch.data
res.send(emailFetch)
})
从我的角度来看,我认为我正在通过使用catch块来处理错误。
问题: 有人可以向我解释为什么我得到此错误以及如何解决该错误?
.catch(error => { throw error})
是无人操作。这会导致路由处理程序中未处理的拒绝。
正如在解释这个答案,Express不支持的承诺,拒绝一切应手动处理:
router.get("/emailfetch", authCheck, async (req, res, next) => {
try {
//listing messages in users mailbox
let emailFetch = await gmaiLHelper.getEmails(req.user._doc.profile_id , '/messages', req.user.accessToken)
emailFetch = emailFetch.data
res.send(emailFetch)
} catch (err) {
next(err);
}
})
我刚刚通过nodejs.org上的软件包安装了node和npm,每当我试图搜索或安装npm时,它都会抛出以下错误,除非我执行该命令。我觉得这是一个权限问题?我已经是管理员了。
我有一个实现以下接口的基类,上面声明的方法抛出基本异常类型。 有许多具体的类扩展了基类,我不想在所有这些类中添加块。有没有一种方法可以处理而不添加? 接口 基层 混凝土类示例(共30个)
我只是通过nodejs.org上的包安装了node和npm,每当我试图搜索或安装带有npm的东西时,它会抛出以下错误,除非我sudo该命令。我觉得这是个权限问题?我已经是管理员了。
问题内容: 在Java中,我们使用try catch块处理异常。我知道我可以像下面这样编写一个try catch块来捕获方法中抛出的任何异常。 但是Java中有什么方法可以让我在发生异常时获取一种称为的特定方法,而不是像上面的方法那样编写一个包罗万象的方法? 具体来说,当抛出异常(我的应用程序逻辑未处理)时,我想在Swing应用程序中显示一条用户友好的消息。 谢谢。 问题答案: 默认情况下,JVM
我有两个Kafka集群,第一个--使用“SASL SCRAM-SHA-256”机制进行身份验证,另一个--没有为其设置配置。 为了能够连接到Clickhouse中的< code>Kafka-A,我配置了一个< code>config.xml文件,如下所示: 在这一点上,我发现我无法使用Kafka引擎表连接到Kafka-B。当我尝试发生打印以下消息的错误时: storage Kafka(XXX):[
在Javascript中的异步生成器函数中,第一个参数本身就是一个异步生成器函数,该函数用于转换函数。在函数中有一个转换和一个检查。如果检查不正确,应中止发电机功能。如果检查正确,则应得出结果。我用随机数模拟了误差。 我找到了三种抛出错误的方法: 返回Promise.reject(新的错误(一些消息); 抛出新的错误(一些消息。); 产生Promise.reject(新的错误(一些消息); 所有的