Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menukar Panggilan Balik `setTimeout` kepada Janji?

Bagaimana untuk Menukar Panggilan Balik `setTimeout` kepada Janji?

Patricia Arquette
Lepaskan: 2024-11-26 18:51:13
asal
637 orang telah melayarinya

How to Convert a `setTimeout` Callback into a Promise?

Cara Mencipta Janji daripada setTimeout

Masalahnya:

Dalam pengaturcaraan tak segerak, ia boleh memberi manfaat untuk menukar panggilan balik kepada janji. Walau bagaimanapun, fungsi bukan berasaskan janji seperti setTimeout tidak segera mengembalikan janji secara lalai. Artikel ini meneroka cara untuk mencipta janji yang boleh digunakan dalam konteks fungsi seperti setTimeout.

Pemikiran Awal:

Contoh yang disediakan mentakrifkan fungsi setTimeout dengan panggilan balik. Untuk mencipta janji, adalah perlu untuk membalut panggilan balik setTimeout dalam fungsi pelaksana janji pembina.

Penyelesaian Disemak:

Menggunakan JavaScript dan Janji moden, kod berikut menunjukkan cara membuat janji daripada setTimeout:

function later(delay) {
  return new Promise(resolve => setTimeout(resolve, delay));
}
Salin selepas log masuk

Fungsi kemudian ini mengambil masa kelewatan dan kembali janji yang diselesaikan selepas kelewatan yang ditentukan. Anda kemudiannya boleh menggunakan janji yang dikembalikan dalam kod tak segerak anda.

Pertimbangan Lanjutan:

Untuk senario yang lebih maju, pertimbangkan variasi berikut bagi fungsi kemudian:

  • Janji Tertunda dengan Nilai: Anda boleh menghantar nilai kepada panggilan balik setTimeout, yang akan diselesaikan dengan janji.
  • Janji Boleh Batal: Untuk membatalkan setTimeout dan janji yang berkaitan, anda boleh mencipta objek yang termasuk kaedah batal.

Kesimpulan:

Mencipta janji daripada panggilan balik seperti setTimeout membolehkan penyepaduan yang lebih mudah bagi operasi tak segerak ke dalam pangkalan kod anda. Dengan memahami cara melaksanakan teknik ini, anda boleh meningkatkan kebolehbacaan dan kebolehselenggaraan aplikasi JavaScript tak segerak anda.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Panggilan Balik `setTimeout` kepada Janji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan