Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mengembalikan data daripada respons Promise

<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粉988025835P粉988025835471 hari yang lalu432

membalas semua(1)saya akan balas

  • P粉426906369

    P粉4269063692023-07-29 00:59:48

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

    balas
    0
  • Batalbalas