2017-12-29 11 views
-10

Dies ist Teil meines Codes, und es funktioniert nicht. Er sagt,"Rückruf ist nicht definiert" in Knoten js

Reference: Rückruf nicht bei C definiert ist: \ js \ kweb-hw \ Routen \ 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 }); 
     }); 
    }); 
}); 
+3

'Rückruf (err, null);' - Es gibt keinen 'Callback', der von Ihrem Code definiert wird. Die Fehlermeldung ist also sehr genau. – poke

+3

hast du sogar versucht, das zu debuggen? –

+0

Es gibt Ihnen sogar die Zeilennummer ... – user184994

Antwort

1

Sie können einen Rückruf in diesem Fall müssen weil du sozusagen am Ende deiner Route bist.

Stattdessen können Sie etwas tun, wie es mit dem Senden einer Fehlermeldung an die gerenderte Seite behandeln.

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 }); 
     }); 
     } 
    }); 
}); 
Verwandte Themen