Kesalahan Async Void: Penjelasan Terperinci
Kaedah Async void telah membuktikan diri mereka sebagai amalan yang lemah dalam pengekodan. Artikel ini menyelidiki dengan lebih mendalam mengapa sebenarnya ini berlaku, merujuk artikel terkenal "Mengelakkan Kekosongan Async."
Sebab Mengelakkan Kekosongan Async
Pertimbangan Tambahan
Kekosongan async dianggap sebagai anomali dalam alam async /menunggu bahasa. Kebanyakan bahasa, termasuk F#, Python, JavaScript dan TypeScript, tidak menyokongnya. Kemasukannya dalam C#/VB adalah terutamanya untuk menampung pengendali acara tak segerak.
Pendekatan Pilihan
Dalam contoh anda, jika anda melaraskan kod anda untuk menggunakan pengendali acara void async :
protected override async void OnLoad(EventArgs e) { if (CustomTask == null) await PrimeCustomTask(); } private async Task PrimeCustomTask() {...}
Kemudian kelemahan async tidak sah akan terhad kepada pengendali acara, menjadikan pengendalian pengecualian, gubahan dan ujian lebih terurus.
Atas ialah kandungan terperinci Mengapa Saya Harus Mengelakkan Kaedah Async Void dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!