【问题标题】:Route.post() requires a callback function but got a [object Undefined] while compiling nodeJSRoute.post() 需要一个回调函数,但在编译 nodeJS 时得到了一个 [object Undefined]
【发布时间】:2019-08-27 11:40:17
【问题描述】:

我正在学习 API 基础教程,每当我运行我的项目时,我都会收到错误 Error: Route.post() requires a callback function but got a [object Undefined] 这是我的路线文件

module.exports = function (app) {
    var todoList = require('../controllers/todoListController');
    app.route('/tasks')
        .get(todoList.list_all_tasks)
        .post(todoList.create_a_task);

    app.route('/task/:taskId')
        .get(todoList.read_a_task)
        .put(todoList.update_a_task)
        .delete(todoList.delete_a_task);
};

这是我的server.js 文件

var express = require('express'),
    app = express(),
    port = process.env.PORT || 3000,
    mongoose = require('mongoose'),
    Task = require('./api/models/todoListModel'), //created model loading here
    bodyParser = require('body-parser');

// mongoose instance connection url connection
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/Tododb');


app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());


var routes = require('./api/routes/todoListRoutes'); //importing route
routes(app); //register the route


app.listen(port);


console.log('todo list RESTfaul API server started on: ' + port);

即使我尝试将回调函数传递给post 方法,但它仍然无法编译

【问题讨论】:

  • 该错误似乎表明您的 todoList.create_a_task 指针无法解析为有效函数。你能用你的控制器代码更新你的问题吗?

标签: node.js express


【解决方案1】:

你需要在你的 post 方法中插入回调

module.exports = function (app) {
    var todoList = require('../controllers/todoListController');
    app.route('/tasks')
        .get(todoList.list_all_tasks)
        .post(todoList.create_a_task, function(req, res) {//smth});
};

【讨论】:

    【解决方案2】:

    你可以试试这个。

    ...
    
    app.route('/tasks')
       .get((req, res) => { return todoList.list_all_tasks( req, res) }),
       .post((req, res) => { return todoList.create_a_task(req, res) })
    

    【讨论】:

      猜你喜欢
      • 2020-06-29
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 2018-06-11
      相关资源
      最近更新 更多