Cannot set headers after they are sent to the client ?

不能把两次SQL语句并行执行,服务器没法res.send后又res.send,会认为重复。把第二次语句放进第一次中,就会解决这种问题

exports.regUser = (req, res) => {
    //1.获取用户信息
    const userinfo = req.body
    //2.执行数据库操作,查重用户名
    //3.定义sql语句
    const sql = 'selece * from my_db_01.getloonwh_users where username=?&&usernumber=?'
    //4.执行
    db.query(sql, [userinfo.username, userinfo.usernumber], (err, results) => {
        if (err) return res.cc(err)
        if (results.length>0) return res.send('已存在用户名!重新输入') 

        const sqlStr = 'insert into my_db_01.getloonwh_users set ?'
        db.query(sqlStr,{username:userinfo.username,usernumber:userinfo.usernumber},(err,results)=>{
            if (err) return res.cc(err)
            if(results.affectedRows!==1) return res.cc('注册失败!')
            res.send({status:0,msg:'注册成功!'})
        })
    })
    // res.send('注册成功!')
}

你可能感兴趣的:(前端node.js)