Memahami Masa Pelaksanaan Panggilan Balik Promise Constructor
Apabila membina objek Promise, kod yang disediakan dalam fungsi panggil balik tidak dilaksanakan serta-merta tetapi agak serentak, mengikut spesifikasi Promise. Ini bermakna bahawa pelaksanaan panggilan balik berlaku sebaik sahaja Janji dimulakan.
Pertimbangkan coretan kod berikut:
function doSomethingAsynchronous() { return new Promise((resolve) => { const result = doSomeWork(); setTimeout(() => { resolve(result); }, 100); }); }
Dalam senario ini, fungsi doSomeWork digunakan serentak pada pembinaan Janji. Fungsi setTimeout digunakan untuk menangguhkan pelaksanaan fungsi menyelesaikan untuk tujuan demonstrasi, tetapi ia tidak menjejaskan sifat segerak panggilan doSomeWork.
Spesifikasi Promise mewajibkan fungsi pelaksana (iaitu, panggilan balik yang disediakan. kepada pembina) dipanggil serta-merta apabila Janji dibuat. Ini memastikan bahawa kelakuan segerak fungsi pelaksana adalah konsisten, membolehkan pengendalian proses tak segerak dan tugas lain yang boleh dipercayai yang mungkin bergantung pada keputusannya.
Atas ialah kandungan terperinci Bilakah Panggilan Balik Promise Constructor Dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!