相关疑难解决方法(0)

快递下一个功能,它真正适用于什么?

一直在试图找到next()方法所做的很好的描述.在Express文档中,它表示next('route')可以用于跳转到该路由并跳过其间的所有路由,但有时会next在没有参数的情况下调用.有谁知道一个描述next函数的好教程等?

node.js express

110
推荐指数
5
解决办法
5万
查看次数

UnhandledPromiseRejectionWarning:此错误是由于将异步函数内部抛出而没有catch块引起的

我的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})
}
Run Code Online (Sandbox Code Playgroud)

然后我导入此辅助函数

const gmaiLHelper = require("./../helper/gmail_helper")
Run Code Online (Sandbox Code Playgroud)

然后像这样在我的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)
})
Run Code Online (Sandbox Code Playgroud)

从我的角度来看,我认为我正在通过使用catch块来处理错误。

问题:有人可以向我解释为什么我得到此错误以及如何解决该错误?

javascript node.js express

13
推荐指数
3
解决办法
3万
查看次数

在 js 类的异步函数中调用函数

嗨,我是 javascript 编程的新手。

我有一个 node express 项目,我试图在我的 AuthenticationController 类中创建一个登录方法。

我现在的登录方法是这样的:

const User = require('../models/User')

class AuthenticationController {

  async login(req, res) {
    const { email, password } = req.body
    console.log('step 1')
    var hashPassword = await userPassword(email)
    console.log(hashPassword)
    console.log('step 2')
    return res.status(200).json({ 'msg': 'Log in OK!' })

  }

  userPassword(email) {
    User.findOne({ email: email }).exec(function(err, user) {
      if (err) return err
      else return user.password
    })
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息,说 userPassword 未定义,我不知道为什么。所以我的疑问是:为什么会发生这种情况,以及如何正确地做到这一点?

我也检查了这个问题,但他们没有帮助我:

我的控制台上的错误消息:

(node:28968) UnhandledPromiseRejectionWarning: ReferenceError: userPassword is not defined ...

(node:28968) …

javascript mongoose node.js express async-await

3
推荐指数
1
解决办法
9464
查看次数

标签 统计

express ×3

node.js ×3

javascript ×2

async-await ×1

mongoose ×1