【问题标题】:"callback is not defined" in node js节点js中的“未定义回调”
【发布时间】:2018-06-10 01:25:12
【问题描述】:

这是我的代码的一部分,它不起作用。它说,

ReferenceError: 未定义回调 在 C:\js\kweb-hw\routes\board.js:14:13

var express = require('express');
var router = express.Router();
var mysql_db = require('../db/db_con')();
var pool = mysql_db.init();
/* GET home page. */
router.get('/', function(req, res, next) {
    pool.getConnection(function (err,conn) {
        if(err) {
            if(conn) {
                conn.release();
            }
            callback(err,null);
            return;
        }
        var sql = "SELECT * FROM board";
        var exec = conn.query(sql,[] ,function(err, rows) {
            conn.release();
            if (err) throw err;
            res.render('board', { rows: rows });
        });
    });
});

【问题讨论】:

  • callback(err,null); - 您的代码没有定义callback。所以报错信息非常准确。
  • 你试过调试这个吗?
  • 它甚至给你行号...
  • 在某处定义回调函数

标签: javascript node.js


【解决方案1】:

在这种情况下,您不需要回调,可以这么说,因为您已经走到了路线的尽头。

因此,您可以做一些事情,例如通过向您呈现的页面发送错误消息来处理它。

var express = require('express');
var router = express.Router();
var mysql_db = require('../db/db_con')();
var pool = mysql_db.init();
/* GET home page. */
router.get('/', function(req, res, next) {
    pool.getConnection(function (err,conn) {
        if(err) {
            if(conn) {
                conn.release();
            }
            res.render('board',{rows: [],error:'Could not connect'});
        }else{
          var sql = "SELECT * FROM board";
          var exec = conn.query(sql,[] ,function(err, rows) {
              conn.release();
              if (err) throw err;
              res.render('board', { rows: rows });
        });
      }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2020-06-01
    • 1970-01-01
    相关资源
    最近更新 更多