0
我來自一個面向對象的背景,下面將是我與快遞JSON響應兩個或兩個以上的模型的屬性,結合理想的語法:組合兩個或多個模型的JSON響應,節點快速
//Verbose
app.get('/boat_house', function(req, res){
var boat = Model1;
var house = Model2;
var bColour = boat.colour;
var hWidth = house.width;
res.jsonp({
boatColour: bColour,
houseWidth: hWidth,
});
});
//Compact
app.get('/boat_house', function(req, res){
res.jsonp({
boatColour: Model1.colour,
houseWidth: Model2.width,
});
});
從我所看到的,這是不可能的。我已經研究過光纖和異步,並且我知道Node有很多模塊可以解決許多問題。儘管我試圖模仿上述情況,但最終還是追逐了我的尾巴。
- 如何將Model1和Model2的屬性組合到res.jsonp中?
- 什麼反回調地獄模塊最好模擬上述語法?
- 我錯過了一個頓悟嗎?我是否需要放棄OO方式,並以功能/模塊化的方式瞭解如何解決我的問題(即上述問題)?
編輯:
該模型從數據存儲檢索。
Boat.findOne(function(boat){
//do something with boat
});
我也碰到過這種similar question,回答這表明使用async.parallel的:例如與貓鼬API,你會通過檢索型號1。我更喜歡類似於以下語法:
var when = require('HypotheticalPromiseModule').when;
var boat = Model1.getAsync();
var house = Model2.getAsync();
when(boat, house).then(function() {
res.jsonp({ ... });
});
是否有一個npm模塊在那裏會給我這個?
啊,model1和model2從數據庫中檢索。例如Boat.findOne(function(model1){//用模型做一些事情},我會更新我的問題。 – waigani