javascript - SequelizeJS 用承诺返回“fulfillmentValue”
问题描述
我想使用 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, '-')
};
})
});
解决方案
下面的函数返回值的 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;
});
推荐阅读
- php - Kubernetes 集群中的 Laravel ENV 变量冲突
- c# - 将变量类型更改为/从(TreeViewEventArgs 或 TreeViewCancelEventArgs)
- android - 调用没有任何值的绑定适配器
- android - 如何在滚动视图中动态添加可滚动的水平线性布局
- python - 在python中合并两个排序的项目列表
- c# - Azure 语音服务语音转文本错误
- ms-access - 无法在 MS Access 查询的 IsError 函数中显示 NA
- amazon-web-services - 切换到其他网络时无法访问服务器
- python - 在 h5py 数据集中存储数组时,尺寸会改变吗?
- javascript - Amcharts“TypeError:this.chart.zoomToDates 不是函数”