首页 > 解决方案 > 节点函数不返回数据

问题描述

在我的 methods.JS 文件中,有一个名为addNedData()此处的函数,有效负载在创建数据后会给出正确的输出。

methods.addNewData = (req, res, modelName, body ) =>{
    modelName.create({
        id: body.id,
        title : body.title,
    }).then((payload) => {
        payload.success = true
        return payload
    }).catch(err => {
        err.success = false
        return err
    })
}

从我的控制器文件中,我正在调用这样的函数。该函数也被调用和执行,但在响应值中它没有返回任何数据..

exports.createCampaign = async (req, res) => {
    let body = req.body
    let response= await Methods.addNewData(req, res, Campaign, body)
    console.log(response)
}

错误是响应未定义..

标签: node.jsexpress

解决方案


addNewData需要回报承诺。

methods.addNewData = (req, res, modelName, body ) =>{
    return modelName.create({
        id: body.id,
        title : body.title,
        campaign_place: body.campaign_place,
        campaign_bp: body.campaign_bp,
        Campaign_manager: body.Campaign_manager,
        campaign_duration: body.campaign_duration,
        created_by: body.created_by
    }).then((payload) => {
        payload.success = true
        return payload
    }).catch(err => {
        err.success = false
        return err
    })
}

注意第return2 行的关键字。


推荐阅读