我正在尝试映射和格式化数据以将其呈现到表格中。我尝试使用 Promise.all() 解决一系列承诺。但它似乎没有返回承诺的结果。
我的代码如下:
const formatData = (data) => {
let dataCopy = data;
if (dataCopy.items && _.has(dataCopy.items[0], 'tenantId')) {
dataCopy.items = setTenants(dataCopy)
}
// format parameters or table render
// other formatting for the table
return dataCopy.items.map(item => ({
...item,
created: new Date(item.created).toDateString(),
updated: new Date(item.updated).toDateString(),
...(item.active && { active: item.active.toString() })
}));
};
const setTenants = (data) => {
const promises = data.items.map(item => {
return getTenant(item)
})
return Promise.all(promises).then(res => { return res })
}
const getTenant = (row) => {
return tenantService.getTenantById(row.tenantId).then(res => {
// set name as the tenant param for the table
row.tenant = res.name
return row
});
}
我的数据复制变量只返回为:
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: Array(10)
结果是“setTenants”函数的正确结果。
白衣非少年
相关分类