Await による非同期コールバック処理
特定のシナリオでは、次のようなコールバックを使用します。
test() { api.on( 'someEvent', function( response ) { return response; }); }
非同期性を組み込む必要がある場合があります。この関数を非同期にして await を使用するには、まずコールバック関数 (someEvent) が Promise を返すことを確認する必要があります。これは、async 関数が非同期操作を完了するために Promise に依存しているためです。
api.on():
function apiOn(event) { return new Promise(resolve => { api.on(event, response => resolve(response)); }); }
この更新された関数を使用すると、test() を非同期関数に変更できるようになりました。
async function test() { return await apiOn( 'someEvent' ); }
ただし、非同期関数は Promise も返すため、test() の実際の結果値は、別の非同期関数内で解決できる Promise です。
async function whatever() { // snip const response = await test(); // use response here // snip }
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3