未返回NodeJS请求

时间:2020-06-28 20:05:38

标签: node.js express

Swagger Inspector

这是源代码

API.js

router.post('/curriculum2_section/', (req,res)=> {
    curriculum2_section.CREATE(req.body.curr2_section,req.body.curr2_id,req.body.curr2_section_student_amount)
})

curriculum2_section.js

  module.exports.CREATE =  function CREATE(curr2_section,curr2_id,curr2_section_student_amount) {
var sqlString = `INSERT INTO curriculum2_section(curr2_id,curr2_section,curr2_section_student_amount)VALUES('${curr2_id}',${curr2_section},${curr2_section_student_amount})` 
pool.getConnection((err, conn) => {
    if(err) throw err 
    pool.query(sqlString, function (err, rows) {
        console.log('Query String:\n '+this.sql);
        if(err) throw err 
        console.log('Data Insert: '+curr2_section+','+curr2_id+','+curr2_section_student_amount)
        conn.release();
    })
})
}

我已经尝试使用回调,但是它不起作用。我认为是因为我不知道如何使用

请帮助我

1 个答案:

答案 0 :(得分:0)

您需要将要输出的数据传递给res上的方法,以便从Express获取输出。

鉴于这里的内容,最好的选择是将回调添加为curriculum2_section.CREATE的最后一个参数,然后使用该回调将数据传递到res

https://expressjs.com/en/4x/api.html#res

router.post('/curriculum2_section/', (req,res)=> {
  curriculum2_section.CREATE(req.body.curr2_section,req.body.curr2_id,req.body.curr2_section_student_amount, (err, data) => {
    res.send(data);
 });
});
module.exports.CREATE =  function CREATE(curr2_section,curr2_id,curr2_section_student_amount, cb) {
var sqlString = `INSERT INTO curriculum2_section(curr2_id,curr2_section,curr2_section_student_amount)VALUES('${curr2_id}',${curr2_section},${curr2_section_student_amount})` 
pool.getConnection((err, conn) => {
    if(err) throw err 
    pool.query(sqlString, function (err, rows) {
        console.log('Query String:\n '+this.sql);
        if(err) throw err 
        console.log('Data Insert: '+curr2_section+','+curr2_id+','+curr2_section_student_amount)
        conn.release();
        cb(null, 'Data Insert: '+curr2_section+','+curr2_id+','+curr2_section_student_amount);
    })
})
}