ホームページ >ウェブフロントエンド >jsチュートリアル >async/await が常に Promise を返すのはなぜですか?
async/await が常に Promise を返す理由
async/await を使用する場合、すべての async 関数が Promise オブジェクトを返すことを理解することが重要です。 await キーワードは Promise に対して動作し、Promise が解決または拒否されるまで関数を保持します。
console.log() が直接動作しないのはなぜですか?
同期関数とは異なります、非同期関数は結果をすぐには返しません。代わりに、解決時に結果を含む Promise を返します。したがって、非同期関数の結果を console.logging に直接出力すると、Promise のみが出力され、その値は出力されません。
then() を使用して Promise をアンラップする
にアクセスするには非同期関数の結果を取得するには、await または .then() メソッドを使用する必要があります。 .then() メソッドは、解決された値を引数として受け取るコールバックを受け入れます。コード例では、.then() メソッドを使用して json オブジェクトを出力します。
Why Not Console.log(getJSON())?
指定したコード スニペット、console.log(getJSON()) は Promise を返します。これは、await では Promise がアンラップされないためです。 Promise が解決されるまで関数を待機させるだけです。 await または .then() を使用して Promise を手動でアンラップする必要があります。
結論
async/await を効果的に利用するには、async 関数が常に Promise を返すことを覚えておいてください。 。したがって、非同期関数の結果にアクセスするには、 await を使用するか、返された Promise で .then() メソッドを呼び出す必要があります。
以上がasync/await が常に Promise を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。