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 ?
PHP中文网
PHP中文网 2017-05-19 10:20:15
0
4
791

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中文网

认证0级讲师

répondre à tous(4)
淡淡烟草味

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

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

左手右手慢动作
function demo(){
    let data=[];
    return fetch(xxx).then((res)=>{
        data.push(res);
    })
}
demo().then(data=>console.log(data))
过去多啦不再A梦

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

黄舟

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

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