Comment renvoyer les données de la réponse Promise
P粉988025835
P粉988025835 2023-07-28 10:32:51
0
1
461
<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>
P粉988025835
P粉988025835

répondre à tous(1)
P粉426906369

À 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 :


export default async function getPageData() {
    return getApiData('shared-content', 'en-us');
}

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())

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal