検索

ホームページ  >  に質問  >  本文

Promiseレスポンスからデータを返す方法

<p>Promise からデータを正しく返すにはどうすればよいですか?次のコードがあります: </p> <pre class="brush:php;toolbar:false;">const axios = require("axios").default; 非同期関数 getApiData(パス名: 文字列, ロケール: 文字列) { const {axiosRequestUrl} = getApiVars(パス名, ロケール); const axiosClient = axios.create({ ベース URL: process.env.CONTENT_DOMAIN、 プロキシ: 偽 }) return await axiosClient.get(axiosRequestUrl); } デフォルト関数 getPageData() をエクスポート { getApiData('共有コンテンツ', 'en-us') .then((データ) => { データを返す。 }) .catch((エラー: 任意) => { // ここにエラーを記録します }) }</pre> <p>しかし、コンポーネントから getPageData を使用しようとすると、何も返さない void 関数が作成されてしまいます。なぜですか?ここで何が足りないのでしょうか? </p>
P粉988025835P粉988025835483日前443

全員に返信(1)返信します

  • P粉426906369

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

    少なくとも、getPageData 関数自体は、getApiData 呼び出しによって返される Promise を返す非同期関数である必要があります (コードを読みやすくするため)。 ######例えば:############ リーリー

    さらに 2 つのヒント:

    データを読み取るには、この Promise を解析する必要があります。


    ここでエラー処理を行うか、呼び出し階層の上位でエラー処理を行うかを決定できます。

    経験則:

    Async 関数は、Promise オブジェクトを返す単なる関数です。

    実際のデータは、(await または .then() を使用して) Promise が解決された場合にのみ返されます。

    返事
    0
  • キャンセル返事