簡體   English   中英

ReactJS axios.post 通過返回對象的數組函數在地圖中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM