在mongoose和express中使用异步等待
在这段代码中,每当有人输入已经存在的用户名时,我都会收到以下错误: 'Error[ERR\u HTTP\u HEADERS\u SENT]:发送到客户端后无法设置头' 有人知道怎么解决这个问题吗?谢谢在mongoose和express中使用异步等待,express,mongoose,Express,Mongoose,在这段代码中,每当有人输入已经存在的用户名时,我都会收到以下错误: 'Error[ERR\u HTTP\u HEADERS\u SENT]:发送到客户端后无法设置头' 有人知道怎么解决这个问题吗?谢谢 const express = require('express') const router = express.Router() const bcrypt = require('bcryptjs') const users= require('./users') router.post(
const express = require('express')
const router = express.Router()
const bcrypt = require('bcryptjs')
const users= require('./users')
router.post('/reg', async (req, res, next) => {
let { firstname, lastname, username, email, password, confirm_password } = req.body
if (password !== confirm_password) {
res.status(400).json({
msg: 'passwords dont match'
})
return
}
await (users.findOne({username: username})).then(user => {
if(user) {
res.status(400).json({
msg: `username already exists`
})
return
}
})
await users.findOne({email: email}).then(user => {
if(user) {
res.status(400).json({
msg: 'email alraedy exists'
})
return
}
})
let newUser = new users({
firstname,
lastname,
username,
password,
email
})
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if (err) throw err
newUser.password = hash
newUser.save().then(user => {
return res.status(201).json({
success: true,
msg: 'you successfully signed up'
})
})
})
})
})```