Bila Perlu Kembali atau Menunggu pada Penghujung Kaedah Async
Dalam kaedah tak segerak mengembalikan Tugasan, seseorang boleh memilih sama ada menunggu panggilan tak segerak berikutnya atau hanya mengembalikan tugasnya. Keputusan ini mempunyai akibat tertentu yang harus diambil kira.
Pilihan A: Mengembalikan Tugasan
Dalam senario ini, dicontohkan oleh kaedah FooAsync, kaedah itu kembali secara langsung Tugas yang dihasilkan oleh BazAsync. Pendekatan ini sesuai untuk memastikan pengisytiharan kaedah segerak, membolehkan pengendalian pengecualian segerak dan pengesahan hujah. Ia juga memerlukan lebih sedikit tugasan untuk dijejaki oleh masa jalan.
Pilihan B: Menunggu Tugas
Dalam kaedah BarAsync, kata kunci await digunakan untuk menunggu penyiapan BazAsync. Ini perlu apabila kaedah tak segerak itu sendiri diisytiharkan sebagai kaedah tak segerak. Walaupun ini mungkin memperkenalkan tugas tambahan, ia memastikan kaedah itu boleh diubah kemudian untuk melaksanakan tugasan pasca pemprosesan tambahan tanpa mengubah jenis pemulangannya.
Pengecualian
Ia adalah penting untuk ambil perhatian bahawa kod segerak dalam kaedah tak segerak akan serentak membuang pengecualian. Jika pengendalian pengecualian tak segerak diingini, kaedah tersebut hendaklah diisytiharkan sebagai tak segerak.
Melebihi muatan
Memulangkan Tugas panggilan tak segerak biasanya digunakan dalam kaedah lebih muatan untuk menyediakan alternatif tak segerak kepada segerak kaedah.
Kesimpulan
Pilihan antara mengembalikan atau menunggu Tugasan panggilan tak segerak lain bergantung pada keperluan khusus kaedah tersebut. Mengembalikan Tugasan mengekalkan tingkah laku segerak sambil mengurangkan bilangan tugasan, manakala menunggu Tugasan memastikan fleksibiliti dalam pasca pemprosesan tetapi menanggung overhed tugas tambahan.
Atas ialah kandungan terperinci Patutkah Saya Kembali atau Menunggu Tugasan di Penghujung Kaedah Async?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!