[英]ReactJS axios.post inside a map through array function that returns an object
所以我嘗試通過一個數組進行映射,並且對於數組中的每個項目都是一個發布請求的參數值。 所以我正在尋找一個帶有 post 請求響應返回值的 finalArray,並且需要在其他地方使用 finalArray。
const finalArray = paramArray.map(paramKey => {
axios.post(URL, {
filters: [
{
field: "key",
values: [paramKey.key]
}
]
}).then(res => {
//res.data.itemName
});
return {
key: paramKey.key,
text: //res.data.itemName,
value: paramKey.value
}
});
所以林不知道如何通過res.data.itemName
的功能外.then
。 我嘗試在 axios 之前聲明一個變量,例如let name = "";
和里面.then
我有name = res.data.itemName
,然后我通過名稱文本text: name
,但是這會給我所有的空字符串。 我也試圖把里面的回報.then
,這樣的finalArray
給我不確定值。
有沒有辦法將res.data.itemName
作為text
的值傳遞?
你可以使用Promise.all
async function() { const promises = paramArray.map(paramKey => axios.post(URL, { filters: [ { field: "key", values: [paramKey.key] } ] }) ); const values = await Promise.all(promises) const finalArray = paramArray.map((paramKey, index) => { return { key: paramKey.key, text: values[index].data.itemName, value: paramKey.value } }) }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.