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)); }
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:
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!