Присоединиться к таблице в каждом элементе в NodeJS

Java передает ссылки по значению.

Таким образом, вы не можете изменить ссылку, которая будет передана.

1
задан ReactRouter4 20 January 2019 в 10:32
поделиться

1 ответ

Вместо:

    .then(sender => {
      sendersArray.push(sender);
    })

Попробуйте:

    .then(sender => {
      sendersArray.push(sender);
      if (sendersArray.length == transactions.length)
         res.send(sendersArray);
    })

и удалите res.send(sendersArray); в конце.

Promise.all должно работать примерно так:

.then(transactions =>
  Promise.all(
    transactions.map(({ id_recipient }) => { return new Promise( (resolve, reject) => {
      User.findAll({
        where: {
          id: id_recipient,
        },
        attributes: ['name', 'surname'],
        include: [
          {
            model: Transaction,
            where: { id_sender: db.Sequelize.col('user.id') },
            attributes: [
              'amount_money',
              'date_time',
              'transfer_title',
              'id_recipient',
              'id_sender',
            ],
          },
        ],
      })
        .then(sender => {
          resolve(JSON.stringify(sender)); // <- this is string, i need this to send res
        })
        .catch(err => {
          reject(err);
        }),
    })}),
  ),
)
.then((results) => {
  res.send(results);
});
0
ответ дан d9ngle 20 January 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: