【发布时间】:2021-06-29 12:16:24
【问题描述】:
我正在尝试创建一个函数来返回一个对象,该对象包含在 forEach 函数中进行的 reduce 的结果。这是一个获取用户所有购买的 API 调用,有三种可能的状态:“已批准”、“已批准”和“正在验证”
export function getPurchasesValueByStatus(id) {
const allPurchasesStatusPossible = ["validacao", "aprovado", "reprovado"]
allPurchasesStatusPossible.forEach(async (status) => {
const response = await api.get(`/compras?userId=${id}&status=${status}`)
const { data } = response
const totalPerStatusObject = []
if (data.lenght === 0) {
console.log(`Nenhuma compra com status ${status}`)
} else {
const total = data.reduce((acc, curr) => acc + curr.value, 0)
totalPerStatusObject.push({ status: total })
}
console.log(totalPerStatusObject)
})
}
例如,状态“验证”的返回是这样的:
[
{
"id": 16,
"code": "1231231",
"value": 10,
"dateOfPurchase": "2021-03-31",
"status": "validacao",
"userId": 3,
"published_at": "2021-04-01T21:57:24.031Z",
"created_at": "2021-04-01T21:57:24.034Z",
"updated_at": "2021-04-01T21:57:24.034Z"
},
{
"id": 19,
"code": "242345",
"value": 66,
"dateOfPurchase": "2021-03-31",
"status": "validacao",
"userId": 3,
"published_at": "2021-04-01T23:06:20.103Z",
"created_at": "2021-04-01T23:06:20.106Z",
"updated_at": "2021-04-01T23:06:20.106Z"
},
{
"id": 20,
"code": "55",
"value": 100,
"dateOfPurchase": "2021-03-30",
"status": "validacao",
"userId": 3,
"published_at": "2021-04-01T23:11:06.648Z",
"created_at": "2021-04-01T23:11:06.651Z",
"updated_at": "2021-04-02T16:03:50.686Z"
}
]
我想返回一个可以映射的对象或数组。
result = {
validating: 10
approved: 134
reproved: 1235
}
【问题讨论】:
标签: javascript arrays reactjs api