javascript - Fungsi ini mengandungi permintaan pengambilan Bagaimana untuk mengembalikan hasil permintaan pengambilan melalui fungsi?
PHP中文网
PHP中文网 2017-05-19 10:20:15
0
4
798

Saya hanya akan menulis fikiran saya di bawah

fungsi demo(){

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

}

Memandangkan ia adalah permintaan tak segerak, data yang dikembalikan masih merupakan tatasusunan kosong, bukan tatasusunan yang mengandungi data yang diminta. Jadi adakah terdapat cara untuk mendapatkan data dan kemudian mengembalikannya?

PHP中文网
PHP中文网

认证0级讲师

membalas semua(4)
淡淡烟草味

Adalah mustahil untuk mengembalikan nilai secara tidak segerak

Nilai ​​hanya boleh diproses dalam fungsi panggil balik

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

Gunakan kaedah async/tunggu

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

Kemudian laksanakan fungsi

黄舟

Gunakan tunggu, perhatikan keperluan untuk membina

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

Rujuk es6 menanti

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan