Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “SequelizeJS返回”;“履行价值”;承诺_Javascript_Node.js_Promise_Sequelize.js - Fatal编程技术网

Javascript “SequelizeJS返回”;“履行价值”;承诺

Javascript “SequelizeJS返回”;“履行价值”;承诺,javascript,node.js,promise,sequelize.js,Javascript,Node.js,Promise,Sequelize.js,我想使用SequelizeJS和findAll函数创建一个项目数组,但我遇到了一个问题 查询已经运行,但是我得到了一个特殊的对象,该对象具有一些意外的属性(fullymentvalue、isfullized、isRejected等等) 我的代码: associatedItems.includingItems = _.map(includeModels, function(includingModel) { return includingModel.model.findAll().then

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

查询已经运行,但是我得到了一个特殊的对象,该对象具有一些意外的属性(fullymentvalue、isfullized、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, '-')
    };
  })
});

下面的函数返回值的承诺,而不是您想要的实际值

function(includingModel) {
  return includingModel.model.findAll().then( function(items) {
    return {
      items: items,
      reference: includingModel.reference,
      modelName: includingModel.reference.replace(/_/g, '-')
    };
  })
}
因此,您必须通过以下方式从承诺中获得价值

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;
  });