Sequelize承诺迟到的决心

时间:2017-04-17 10:45:15

标签: javascript express promise sequelize.js

我是新来表达js和sequelize。 我想显示所有用户及其订单(可以超过1个)。

我的代码是

app.get('/test', function (req, res) {
  var arr = [];
  db.user.findAll().then(
    function (resp) {
      for (i = 0; i < resp.length; i++) {

        arr.push(Object.assign({},
          {
            user_id: resp[i]['id'],
            user_email: resp[i]['email'],
            data: x(resp[i]['id'])
          }))
      }
      res.send(arr);
    }
  );
});

以及给我特定用户订单的功能

var x = function (n) {
  var arr1 = [];
  db.order.findAll({ where: { userId: n } }).then(function (response) {

    for (i = 0; i < response.length; i++) {
      arr1.push(Object.assign({},
        {
          order_id: response[i]['id'],
          order_total: response[i]['totalAmount']
        }));
    }
  });
  return arr1;
}

这只是向我展示了所有用户,而不是他们的特定订单,函数返回的数组长度&#39; x&#39;是0,我知道这个问题与承诺和解决的结果有关。我试过.resolve(),. success()  但没有任何作用。我该如何解决?感谢

0 个答案:

没有答案