Bagaimana untuk mengembalikan data daripada respons Promise
P粉988025835
P粉988025835 2023-07-28 10:32:51
0
1
518
<p>Bagaimana untuk mengembalikan data daripada Promise dengan betul? Saya mempunyai kod berikut: </p> <pre class="brush:php;toolbar:false;">const axios = require("axios").default; fungsi async getApiData(pathName: string, locale: string) { const {axiosRequestUrl} = getApiVars(pathName, locale); const axiosClient = axios.create({ baseURL: process.env.CONTENT_DOMAIN, proksi: palsu }) kembali menanti axiosClient.get(axiosRequestUrl); } eksport fungsi lalai getPageData() { getApiData('kandungan kongsi', 'en-us') .then((data) => { mengembalikan data; }) .catch((ralat: mana-mana) => { // ralat log di sini }) }</pre> <p>Walau bagaimanapun, jika saya cuba menggunakan getPageData daripada komponen, saya berakhir dengan fungsi lompang yang tidak mengembalikan apa-apa, mengapa? Apa yang saya hilang di sini? </p>
P粉988025835
P粉988025835

membalas semua(1)
P粉426906369

Sekurang-kurangnya, fungsi getPageData anda sendiri mestilah fungsi async (untuk kejelasan kebolehbacaan kod) yang akan mengembalikan Janji yang dikembalikan oleh panggilan getApiData.

Contohnya:


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

Dua petua lanjut:

Anda perlu menyelesaikan Janji ini untuk membaca data.

Anda boleh memutuskan untuk melakukan pengendalian ralat di sini atau di atas hierarki panggilan

Peraturan praktikal:

fungsi async hanyalah fungsi yang mengembalikan objek Promise.

Data sebenar hanya akan dikembalikan apabila Janji diselesaikan (menggunakan await atau .then())

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