P粉9707363842023-09-06 12:12:35
你必須await
這個promise來取得結果。否則你只會得到這個promise。所以在你的map函數中加入async
,然後使用await
:
data.map(async (value)=>{ return(<th>{await getDataFromApi(value)}</th> )
P粉8322127762023-09-06 00:30:22
看起來你正在使用React。你需要將你的回應儲存到React的狀態。
這是一個範例程式碼,它應該是這樣的(未經測試):
let data = [223, 34, 456, 56, 67]; const [responses, setResponses] = useState([]); useEffect(() => { const getAllResponses = () => Promise.all( data.map(val => getDataFromApi(val)) ); getAllResponses().then(responses => setResponses(responses)); }, [data]) function getDataFromApi(paramfromTableCell){ let postData = {data : paramfromTableCell} return apiResponse(url, 'post', postData).catch((err => console.log(err))) } responses.map((value)=>{ return( <th>{value}</th> ) })