Error: Illegal arguments: undefined string at bcrypt.hashSync

用react写后端的signUp时出现报错undefined string at bcrypt.hashSync,代码如下,报错在生成password时!

复制代码
const bcrypt = require('bcryptjs')
const jwt = require('jsonwebtoken')
const db = require('../config/db.config.js')
const User = db.user
const errorHandler = require('../utils/errorHandler')

module.exports.register = async function(req, res) {
    const candidate = await User.findOne({
        where: {
            username: req.body.username
        }
    })

    if (candidate) {
        res.status(409).json({
            message: 'This login is already taken. Try another.'
        })
    } else {
        const salt = bcrypt.genSaltSync(10)
        const password = req.body.password
        const user = new User({
            name: req.body.name,
            username: req.body.username,
            roles: req.body.roles,
            photoSrc: req.file ? req.file.path: '',
            password: bcrypt.hashSync(password, salt)
        })
        try {
            await user.save()
            res.status(201).json(user)
        } catch(e) {
            errorHandler(res, e)
        }
    }
}

修改方式,在生成salt和password时,使用await,因为本身就是异步运行:

复制代码
const salt = await bcrypt.genSaltSync(10);
const password = await req.body.password;
相关推荐
云栖梦泽2 分钟前
从 IMX415 摄像头驱动理解 Media Controller 框架
linux·开发语言·c++·嵌入式硬件
liuniansilence10 分钟前
一次讲透 H5 唤起原生 App:Scheme 协议、平台限制与生产级封装
前端·javascript
heiyehk11 分钟前
我用AI不断迭代到7W行代码的项目-像素画编辑器
前端·架构·设计
用户9385156350711 分钟前
从“问答机器”到“智能体”:AI Agent 是如何自主工作的?
javascript·人工智能·全栈
初阳78511 分钟前
【Qt】界面优化(1)——QSS
开发语言·qt
weedsfly13 分钟前
前端懒加载全家桶:图片、路由、组件的按需加载
前端·javascript·面试
千帆_Evan14 分钟前
🤖 AI 写代码总在重复造轮子?我们把 Utils 复用门禁做进了 Agent 运行时(已开源)
前端·agent
Kel14 分钟前
多 Tab 聊天不翻车:纯前端实现跨标签页消息同步的三层协同架构
前端·javascript·人工智能
半个落月15 分钟前
Promise 入门:理解 async/await 与 Promise.all
前端·javascript
廖菌17 分钟前
DATASPACE3D 产品介绍:面向数字孪生与 Web3D 场景的一体化可视化搭建平台
前端·webgl