Rumah > Soal Jawab > teks badan
P粉9707363842023-09-06 12:12:35
Anda mestiawait
这个promise来获取结果。否则你只会得到这个promise。所以在你的map函数中添加async
,然后使用await
:
data.map(async (value)=>{ return(<th>{await getDataFromApi(value)}</th> )
P粉8322127762023-09-06 00:30:22
Nampaknya anda sedang menggunakan React. Anda perlu menyimpan respons anda ke dalam keadaan React.
Ini adalah contoh kod, ia sepatutnya kelihatan seperti ini (belum diuji):
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> ) })