0

使用bluebird q,我有这个:

var myBill
db.getBillAsync().then(function (bill) {
myBill = bill
return users.find_user_by_idAsync(bill.user_id)
}).then(function (user) {
   myBill.user_name = user.name

console.log(myBill)

})

上面代码的目的是获取用户名并将其添加到帐单中,这很好用,现在如果我有一个帐单列表,如何获取所有帐单的名称并分配给 myBills?使用循环?还是蓝鸟有其他方法?

var myBills
db.getBillsAsync().then(function (bills) {
  myBills = bills
  return users.find_user_by_idAsync(bill.user_id) ?
}).then(function (user) {
   ?
})
4

1 回答 1

1

它看起来像这样:

db.getBillsAsync().map(function (bill) {
  return users.find_user_by_idAsync(bill.user_id)
    .then(function (user) {
      bill.user_name = user.name;
      return bill;
    });
}).then(function (bills) {
// you got your bills with user names
})
于 2014-05-11T15:23:04.023 回答