Menggunakan pengaturcaraan tak segerak dalam gelung ForEach mungkin menimbulkan beberapa cabaran. Mari kita periksa isu dan teroka penyelesaian.
Dalam kod anda, apabila cuba menggunakan kata kunci async dalam perwakilan ForEach, anda mungkin menghadapi ralat: "Nama 'Async' tidak wujud dalam konteks semasa ."
Sebabnya ialah List
Untuk menyelesaikan isu ini, kami boleh menggunakan pendekatan yang lebih sesuai yang memanfaatkan sifat tak segerak tugas:
using (DataContext db = new DataLayer.DataContext()) { var tasks = db.Groups.ToList().Select(i => GetAdminsFromGroupAsync(i.Gid)); var results = await Task.WhenAll(tasks); }
Ini pendekatan mempunyai beberapa kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Tugas Asynchronous dengan Betul dalam Gelung ForEach?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!