爲什麼這快遞返回值與回調
router.get('/eventTest/:id', function (req, res) {
var event = Event.getEventById(req.params.id, function (err, rows) {
if(err) {
return err;
} else {
return rows;
}
});
res.json(event);
});
回報 { "domain": null, "_events": {}, "_eventsCount": 0, "_callSite": {}, "_ended": false, "_idleNext": null, "_idlePrev": null, "_idleStart": null, "_idleTimeout": -1, "_repeat": null, "sql": "select * from event where id=?", "values": [ "1" ], "typeCast": true, "nestTables": false, "_resultSet": null, "_results": [], "_fields": [], "_index": 0, "_loadError": null }
這和實例的方法之一是我打電話
`getEventById:功能(ID,回調){
return db.query("select * from event where id=?",[id],callback);
}
`
而不是像我在Event.getEventById回調中使用res.json(rows)那樣的實際值?
我爲了調用多個方法,並將它們添加到一個對象,然後發送對象JSON需要這個
謝謝
它的作品,但我的想法是調用多個方法,並將結果分配給一個對象,然後res.send該對象。 例如: 'var event = {}; event.details = Event.getEventById(req.params.id,函數(ERR,行){ 如果(ERR){ 返回ERR; }否則{ 返回的行; } }); event.teams = Event.getEventStages(req.params.id,函數(ERR,行){ 如果(ERR){ 返回ERR; }否則{ 返回的行; } }); res。json(event);' –
是的,你可以使用'promise'或異步模塊 – abdulbarik
使用[async.waterfall或series](https://github.com/caolan/async)來獲得你想要的結果 – abdulbarik