Renvoie une promesse lors de l'appel d'une fonction dans la table : essayez de renvoyer un appel de fonction Promise
P粉340264283
P粉340264283 2023-09-05 14:36:01
0
2
577
<p><pre class="brush:php;toolbar:false;">let data = [223, 34, 456, 56, 67]; fonction getDataFromApi(paramfromTableCell){ laissez postData = {data : paramfromTableCell} let result = apiResponse(url, 'post', postData).catch((err => console.log(err))) renvoyer le résultat ; } data.map((valeur)=>{ retour( <th>{getDataFromApi(value)}</th> ) })</pré> <p>Appel d'une fonction dans une cellule de tableau, mais elle renvoie une promesse. Lors de l'appel de la fonction, elle prend un paramètre et renvoie le nom basé sur le numéro, mais elle renvoie une promesse. Existe-t-il un moyen de résoudre ce problème ? </p>
P粉340264283
P粉340264283

répondre à tous(2)
P粉970736384

Vous devezawait这个promise来获取结果。否则你只会得到这个promise。所以在你的map函数中添加async,然后使用await :

data.map(async (value)=>{
  return(<th>{await getDataFromApi(value)}</th>
)
P粉832212776

On dirait que vous utilisez React. Vous devez enregistrer votre réponse dans l'état de React.

Voici un exemple de code, il devrait ressembler à ceci (non testé) :

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>
 )
})
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal