Comment renvoyer les données de la réponse Promise
P粉988025835
2023-07-28 10:32:51
<p>Comment renvoyer correctement les données de Promise ? J'ai le code suivant : </p>
<pre class="brush:php;toolbar:false;">const axios = require("axios").default;
fonction asynchrone getApiData(pathName : string, locale : string) {
const {axiosRequestUrl} = getApiVars(pathName, locale);
const axiosClient = axios.create({
URL de base : process.env.CONTENT_DOMAIN,
proxy : faux
})
return wait axiosClient.get(axiosRequestUrl);
}
exporter la fonction par défaut getPageData() {
getApiData('content-partagé', 'en-us')
.then((données) => {
renvoyer des données ;
})
.catch((erreur : toute) => {
// enregistre l'erreur ici
})
}</pré>
<p>Cependant, si j'essaie d'utiliser getPageData depuis le composant, je me retrouve avec une fonction void qui ne renvoie rien, pourquoi ? Qu'est-ce que j'oublie ici? </p>
À tout le moins, votre fonction getPageData elle-même doit être une fonction asynchrone (pour plus de clarté dans la lisibilité du code) qui renverra la promesse renvoyée par l'appel getApiData.
Par exemple :
Deux autres conseils :
Vous devez résoudre cette promesse pour lire les données.
Vous pouvez décider d'effectuer la gestion des erreurs ici ou plus haut dans la hiérarchie des appels
Règle générale :
une fonction asynchrone est simplement une fonction qui renvoie un objet Promise.
Les données réelles ne seront renvoyées que lorsque la promesse sera résolue (en utilisant wait ou .then())