recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - La fonction contient une requête de récupération. Comment renvoyer le résultat d'une requête de récupération via la fonction ?

Je vais simplement écrire mes pensées ci-dessous

démo de fonction(){

let data=[];
fetch(xxx).then((res)=>{
    data.push(res);
})
return data;

}

Puisqu'il s'agit d'une requête asynchrone, les données renvoyées sont toujours un tableau vide, pas un tableau contenant les données demandées. Alors, existe-t-il un moyen d'obtenir les données et de les restituer ensuite ?

PHP中文网PHP中文网2823 Il y a quelques jours800

répondre à tous(4)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:22:15

    Il est impossible de renvoyer la valeur de manière asynchrone

    Les valeurs ne peuvent être traitées que dans les fonctions de rappel

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-19 10:22:15

    function demo(){
        let data=[];
        return fetch(xxx).then((res)=>{
            data.push(res);
        })
    }
    demo().then(data=>console.log(data))

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:22:15

    Utiliser la méthode async/await

    async function demo(){
        let data=[];
        await fetch(xxx).then((res)=>{
            data.push(res);
        })
        return data;
    }

    Ensuite, exécutez la fonction

    répondre
    0
  • 黄舟

    黄舟2017-05-19 10:22:15

    Utilisez wait, faites attention à la nécessité de construire

    async function demo(){
        const response = await fetch(url, options);
        // todo: 异常处理
        
        const data = await response.json();
        return data;
    }

    Référez-vous à es6 wait

    répondre
    0
  • Annulerrépondre