Rumah  >  Artikel  >  hujung hadapan web  >  [Javascript] Elakkan fenomena di mana ProgressBar tidak bergerak (ia hanya bergerak selepas satu siri proses selesai)

[Javascript] Elakkan fenomena di mana ProgressBar tidak bergerak (ia hanya bergerak selepas satu siri proses selesai)

王林
王林asal
2024-08-16 11:27:35462semak imbas

[Javascript] Avoid the phenomenon where the ProgressBar does not move (it only moves after a series of processes are completed)

Apabila anda mencipta javascript dalam html yang mengambil masa yang lama untuk diproses, adakah anda pernah melaksanakan ProgressBar dan menghadapi masalah dengan ProgressBar hanya bergerak selepas keseluruhan proses selesai?

Dalam artikel ini, saya ingin memperkenalkan contoh pembetulan sementara untuk situasi itu.

Jika anda mengikuti langkah ini, ProgressBar akan berfungsi semasa pemprosesan.


Langkah 1: Letakkan keseluruhan proses dalam kaedah async

Pertama, letakkan keseluruhan proses dalam kaedah async dan laksanakannya.

async function MyFunction(ctx, canvas) {

}

MyFunction(ctx, canvas); // Be sure to run it in the original location.

Langkah 2: Tulis tidur selepas menukar Nilai ProgressBar

Seterusnya, tulis yang berikut selepas menukar Nilai ProgressBar.

const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
await sleep(0);

Ini akan menyebabkan ProgressBar berubah semasa proses.


Kami telah memperkenalkan contoh penyelesaian sementara untuk menjadikan ProgressBar berfungsi secara normal.

Saya harap artikel ini dapat membantu anda menyelesaikan sekurang-kurangnya satu daripada perjuangan anda.

Terima kasih kerana membaca.

Atas ialah kandungan terperinci [Javascript] Elakkan fenomena di mana ProgressBar tidak bergerak (ia hanya bergerak selepas satu siri proses selesai). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn