【发布时间】:2014-10-29 11:40:10
【问题描述】:
我正在尝试从 sqlite3 数据库中获取结果并将它们呈现在玉模板中,但基于我放置在此代码中的日志组合,似乎模板在等待 db 查询时呈现完成。
var express = require('express');
var router = express.Router();
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('test_dab');
/* GET home page. */
var rowResults;
router.get('/', function(req, res) {
db.get('SELECT ID, first_name, last_name FROM customer WHERE ID = 33', function(err, row){
rowResults = 'Hello, ' + row.first_name + ' ' + row.last_name + '!';
console.log(row);
console.log(rowResults);
});
console.log(rowResults);
res.render('index', { title: 'Express',
whatever: rowResults });
});
console.log('Router found index');
module.exports = router;
这是控制台中的输出:
//on browser refresh...
undefined
GET / 304
{ ID: 22, first_name: 'Bo', last_name: 'Jackson' }
Hello, Bo Jackson!
GET /stylesheets/style.css 304
GET /javascripts/main.js 304
如何在数据库完成之前不渲染页面?
【问题讨论】:
标签: javascript node.js express sqlite