因此,我尝试通过数组进行映射,数组中的每个项都是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
}
});
所以我不确定如何在CCD_ 2中的函数之外传递CCD_。我尝试在axios之前声明一个变量,比如let name = "";
,在.then
内部我有name = res.data.itemName
,然后我将名称作为text: name
传递给文本,但这会给我所有的空字符串。我还尝试将返回放入.then
中,这样finalArray
就给了我未定义的值。
有没有办法将res.data.itemName
作为res.data.itemName
0的值传递?
您可以使用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
}
})
}