【问题标题】:SequelizeJS returning "fulfillmentValue" with promisesSequelizeJS 用承诺返回“fulfillmentValue”
【发布时间】:2020-08-03 20:01:59
【问题描述】:

我想使用 SequelizeJS 和 findAll 函数创建一个项目数组,但我遇到了一个问题。

查询成功了,但我得到了一个带有一些意外属性的特殊对象(fulFillmentValue、isFulfilled、isRejected、...)。

我的代码:

associatedItems.includingItems = _.map(includeModels, function(includingModel) {
  return includingModel.model.findAll().then( function(items) {
    return {
      items: items,
      reference: includingModel.reference,
      modelName: includingModel.reference.replace(/_/g, '-')
    };
  })
});

【问题讨论】:

    标签: javascript node.js promise sequelize.js


    【解决方案1】:

    下面的函数返回值的 Promise,而不是你想要的实际值。

    function(includingModel) {
      return includingModel.model.findAll().then( function(items) {
        return {
          items: items,
          reference: includingModel.reference,
          modelName: includingModel.reference.replace(/_/g, '-')
        };
      })
    }
    

    因此,你必须通过以下方式从 Promise 中获取值。

    promises = _.map(includeModels, function(includingModel) {
      return includingModel.model.findAll().then( function(items) {
        return {
          items: items,
          reference: includingModel.reference,
          modelName: includingModel.reference.replace(/_/g, '-')
        };
      })
    });
    
    Promise.all(promises)
      .then(results => {
        associatedItems.includingItems = results;
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2015-06-05
      • 1970-01-01
      • 2023-01-27
      相关资源
      最近更新 更多