promesa は最新の JavaScript で広く普及しており、非同期操作が可能です。それらの使用法は十分に文書化されていますが、特定の側面が混乱を招く可能性があります。よくある質問の 1 つは、特に Promise が .then() メソッドを通じて連鎖されている場合に、Promise の値にアクセスする方法です。
ここに示した例では、promiseA から PromiseB が作成されます。ドキュメントには、promiseA が解決された後、promiseB は結果 1 と等しい値を保持すると記載されています。ただし、この値にアクセスする方法はすぐにはわかりません。
Promise 値へのアクセス
これを理解するための鍵は、.then() メソッドが新しい Promise を返すということです。これは、元の Promise (この場合は PromiseA) が解決された後に解決されます。この新しい Promise の値は、success コールバック関数から返されるものによって決まります。
この例では、success コールバックは結果 1 を返します。これは、promiseB がこの値で解決されることを意味します。この値にアクセスするには、promiseA.
Async/Await 構文
にアクセスするのと同じ方法で、promiseB.then(function(result) {...}) を使用します。ECMAScript 2016 (ES7) では、.then() メソッドの代替となる async/await 構文が導入されました。約束。 async/await を使用すると、await キーワードを使用して Promise の値に直接アクセスできます。
たとえば、次のように記述する代わりに、次のように記述できます。
promiseB.then(function(result) { // Use the result });
ただし、async/await は async 関数内でのみ使用できることに注意してください。
以上がJavaScript で Chained Promise の解決された値にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。