Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencegah Penyekatan UI Semasa Panggilan API di Blazor?
Apabila membuat panggilan API dalam aplikasi Blazor, adalah penting untuk memberikan maklum balas kepada pengguna, yang menunjukkan bahawa tindakan adalah sedang berjalan. Ini boleh dicapai dengan memaparkan kursor pemutar atau tunggu.
Kaedah ini melibatkan menjalankan tugas tak segerak dan termasuk menunggu Task.Delay(1) di dalamnya. Ini membolehkan perubahan disiram dan UI dikemas kini sebelum operasi yang berjalan lama bermula.
private async Task AsyncLongFunc() { spinning = true; await Task.Delay(1); // Flushing changes LongFunc(); // Non-async code currentCount++; spinning = false; await Task.Delay(1); // Flushing changes again }
Ini pendekatan melibatkan melampirkan operasi jangka panjang dalam tugasan, memastikan ia tidak menyekat tugas utama benang.
async Task AsyncLongOperation() { spinning = true; await Task.Run(() => LongOperation()); // Enclose in a task currentCount++; spinning = false; }
Kedua-dua kaedah memaparkan pemutar secara berkesan semasa panggilan API. Walau bagaimanapun, pemutar mungkin tidak muncul jika prapemarahan sebelah pelayan didayakan dalam apl Pelayan Blazor. Untuk menyelesaikan masalah ini, operasi yang panjang harus dikendalikan dalam acara OnAfterRender.
Teroka projek sumber terbuka BlazorPro.Spinkit untuk mendapatkan lebih banyak contoh dan teknik untuk melaksanakan pemutar dalam aplikasi Blazor anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Penyekatan UI Semasa Panggilan API di Blazor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!