async voidイベント処理手順:利点と短所の重量
通常、非同期void法(火災とフォゲット)は、エラー処理の欠如とハンギングタスク追跡メカニズムのために、悪い実践と見なされます。ただし、非同期イベントの処理手順では、ガイダンスの原則はわずかに異なります。
イベント処理プログラムでasync voidを使用する:例外
一般的な提案とは対照的に、イベント処理手順でASYNCボイドを使用することは許容可能と見なされます。この例外は、イベント処理の性質から導き出されます。
イベント処理は同期されます。
イベントは同時にトリガーされますが、これは非同期タスクとは異なります。
- イベント処理手順の期間は短いです。 イベント処理手順は通常、短期操作を実行し、それにより異常と未処理のタスクの可能性を減らします。
-
に注意を払う必要がある潜在的な問題
イベント処理プログラムでの非同期ボイドの使用は許容されますが、次の潜在的な問題に注意を払う必要があります。
問題の読み取り:
イベント処理手順は複数回呼び出され、潜在的な競争条件をもたらすことがあります。
タスクトラッキング:
非同期タスクが完了するまでに時間がかかる場合があります。テストとデバッグを目的として、非同期ロジックは分解され、追跡とキャンセルが簡単になります(必要に応じて)非常に役立ちます。
-
単位テストの提案
単体テストについては、以下に示すように、イベント処理プログラムから個々の方法から非同期ロジックを抽出することを検討してください。
-
この方法により、Async voidを使用する利便性を犠牲にすることなく、イベント処理手順で非同期タスクを簡単にテストおよび排除できます。
以上が非同期 Void イベント ハンドラー: いつ許容されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。