q新手,我得到了一个示例代码如下,它的作用是,获取订单,然后获取订单的所有者,将所有者的名称附加到订单,以便显示完整的订单,如何将此更改为使用Q(kriskowal / q)?谢谢,
db.get_order(order_id, function(err, order) {
users.get_user(order.user_id, function(err, user) {
order['$user_name'] = user.name
console.log(order)
})
})
答案 0 :(得分:1)
我假设get_order
函数取决于db
对象,而get_user
取决于user
对象。如果是这种情况,那么您需要使用Q.ninvoke
调用这些方法,如此
Q.ninvoke(db, "get_order", order_id)
.then(function(order) {
return Q.ninvoke(user, "get_user", order.user_id);
})
.then(function(user) {
console.log(user.name);
})
.catch(function(err) {
console.error(err);
});