Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 函数回调不执行_Node.js_Function_Callback_Routes_Httpresponse - Fatal编程技术网

Node.js 函数回调不执行

Node.js 函数回调不执行,node.js,function,callback,routes,httpresponse,Node.js,Function,Callback,Routes,Httpresponse,我有以下注册路径,在成功注册后,应发送验证消息,该消息当前未运行 示例:mailer.sendmail(res、req.body、token) 控制台中没有错误。我传递参数的方式可能有问题 有人能帮忙吗 server.js app.post('/signup-user', upload.single('avatar'), (req, res) => { let sSignupUserImagePath = req.file.path.split("public/").pop()

我有以下注册路径,在成功注册后,应发送验证消息,该消息当前未运行

示例:
mailer.sendmail(res、req.body、token)

控制台中没有错误。我传递参数的方式可能有问题

有人能帮忙吗

server.js

app.post('/signup-user', upload.single('avatar'), (req, res) => {
    let sSignupUserImagePath = req.file.path.split("public/").pop()
    Object.defineProperty(global, "sSignupUserImagePath", {
        value: sSignupUserImagePath
    })
    let token = jwt.sign({
        username: req.body.email,
    }, 'supersecret', {
        expiresIn: 240
    });
    user.signupUser(req.body, (err) => {
        if (!err) {
            mailer.sendEmail(res, req.body, token)
        }
    })
})
var user = {}

user.signupUser = (jUserData, res) => {

    var aData = [
        null,
        jUserData.first_name,
        jUserData.last_name,
        jUserData.email,
        jUserData.mobile_number,
        sSignupUserImagePath,
        0
    ]
    var sQuery = 'INSERT INTO users VALUES (?, ?, ?, ?, ?, ?, ?)'

    db.run(sQuery, aData, (err) => {
        if (err) {
            console.log('BAD, user not registered')
            return res(err)
        }
        console.log('GREAT, user registered')
    });
}
user.js

app.post('/signup-user', upload.single('avatar'), (req, res) => {
    let sSignupUserImagePath = req.file.path.split("public/").pop()
    Object.defineProperty(global, "sSignupUserImagePath", {
        value: sSignupUserImagePath
    })
    let token = jwt.sign({
        username: req.body.email,
    }, 'supersecret', {
        expiresIn: 240
    });
    user.signupUser(req.body, (err) => {
        if (!err) {
            mailer.sendEmail(res, req.body, token)
        }
    })
})
var user = {}

user.signupUser = (jUserData, res) => {

    var aData = [
        null,
        jUserData.first_name,
        jUserData.last_name,
        jUserData.email,
        jUserData.mobile_number,
        sSignupUserImagePath,
        0
    ]
    var sQuery = 'INSERT INTO users VALUES (?, ?, ?, ?, ?, ?, ?)'

    db.run(sQuery, aData, (err) => {
        if (err) {
            console.log('BAD, user not registered')
            return res(err)
        }
        console.log('GREAT, user registered')
    });
}

在执行res函数时,您没有调用传递给该函数的res函数;如果一切顺利,你必须打电话:

db.run(sQuery, aData, (err) => {
    if (err) {
        console.log('BAD, user not registered')
        return res(err)
    }
    console.log('GREAT, user registered');
    res(null); //or also res(); works
});