您還可以從您的獲取路線中返回回調。我做這樣的事情:
端點:
router.get('/people', (req, res) => {
People.list((error, response) => {
if (error) return res.end();
return res.send(response);
});
});
型號:
module.exports = {
connect: (callback) => {
r.connect({
host: config.db.host,
port: config.db.port,
db: config.db.name
})
.then((connection) => {
return callback(null, connection);
})
.error((err) => {
return callback(err);
});
},
list: function (callback) {
this.connect((err, connection) => {
if (err) return callback(err);
r.db(config.db.name).table(config.db.tables.people)
.run(connection)
.then((cursor) => {
return cursor.toArray();
})
.then((users) => {
return callback(null, users);
})
.error((err) => {
return callback(err);
});
});
},
...
有了這個然後我得到打印到我的屏幕響應對象。模型代碼是rethinkdb代碼,但您可以將其替換爲您正在使用的任何代碼。對不起,如果這不是你所追求的。祝你好運=)
鑑於你在問它一個合理的方法。如果數據不會經常變化或者在您的控制之下,那麼甚至可以在數據更改時寫入文件,而且根本不需要動態變化。不過,有一點需要考慮的是返回數據,因爲JSON將幫助您避免處理各種文本轉義問題。 – bknights
如果我理解你是正確的,你基本上想要檢索數據並將數據呈現到主頁面中?如果是這樣的話,爲什麼不使用像ejs這樣的視圖引擎呢? – n0m4d
@ n0m4d我正在尋找一個沒有視圖引擎的最小解決方案,但看到這可能確實是要走的路。謝謝。 – Sebastian