Promiseレスポンスからデータを返す方法
P粉988025835
P粉988025835 2023-07-28 10:32:51
0
1
446
<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粉988025835
P粉988025835

全員に返信(1)
P粉426906369

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

さらに 2 つのヒント:

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


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

経験則:

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート