NodeJS(ExpressJS)未处理拒绝TypeError:回调不是函数

Out*_*ked 5 javascript database node.js express angular

这几天我一直在学习使用Angular 6NodeJS(使用ExpressJS).为此,我决定使用Angular 6创建一个前端(其中包含一个表单),旨在通过使用我使用NodeJS创建的API 来回传递信息到我的PHPMyAdmin数据库.正如您在标题中看到的那样,当我尝试提交表单信息时出现以下错误:

" 未处理的拒绝TypeError:回调不是函数 "

我用于后期操作的代码来自另一个功能相似的API,数据库接收到question_id和user_id,但不会注册问题答案(这是最终目标).如果没有更多的东西,这里是获取和发布的代码:

const config = require('../config/config');
const knex      = config.db.knex;
const async     = require('async');


class TestModel {        
  getQuestions(callback) {
        knex('question')
        .select('id', 'libelle')
    .orderBy('id', 'asc')
        .then((data) => {
            callback(data);
        });
    }


  addResponse(reponse, callback) {
      knex('reponse')
      .insert({
          id_user : 1,
          id_question : reponse.id,
          libelle: reponse.answer,
      }).then((data) => {
          callback(data);
        });
  }        
}


module.exports = new TestModel();
Run Code Online (Sandbox Code Playgroud)

其余部分如下:

app.post('/quiz', function(req, res, next){
    var answers = req.body;

    console.log(answers)

    for(var i = 0; i<answers.length; i++)
        {
            var obj = answers[i];
            Test.addResponse((obj,result) => {

            });                
        }        
    res.json({reponseserveur:'True'});    
});
Run Code Online (Sandbox Code Playgroud)

仅供参考,"响应"表示响应,"libelle"表示标签.在此先感谢您的帮助!

小智 2

正确的语法是

        Test.addResponse(obj, (result) => {

        }); 
Run Code Online (Sandbox Code Playgroud)

它正在工作: