Apabila mencipta objek Promise, fungsi panggil balik (pelaksana) diserahkan kepada pembina. Fungsi panggil balik ini bertanggungjawab untuk memulakan dan memenuhi atau menolak Janji. Walau bagaimanapun, ia mungkin tidak jelas serta-merta apabila panggil balik ini dilaksanakan.
Dalam coretan kod yang disediakan, persoalan timbul: bilakah fungsi doSomeWork() dipanggil berhubung dengan penciptaan Promise?
Jawapan:
Mengikut spesifikasi Janji dan Dokumentasi MDN, panggilan balik pelaksana dipanggil segerak sejurus selepas Promise dibina. Ini bermakna doSomeWork() dilaksanakan sebaik sahaja baris Promise baharu dicapai.
Maklumat Tambahan:
Pelaksanaan segerak ini memastikan panggilan balik pelaksana sentiasa dipanggil sebelum operasi lain yang mungkin bergantung kepadanya. Contohnya, jika anda merantai berbilang Janji atau menggunakan semua atau berlumba untuk menggabungkan Janji, panggilan balik Janji tersebut akan dijamin akan dipanggil dalam susunan yang betul.
Selain itu, panggilan segerak panggilan balik membolehkan kesan sampingan serta-merta daripada pelaksanaan Janji, jika sebarang.
Nota:
Adalah penting untuk memahami bahawa kelakuan tak segerak bagi Janji hanya berkuat kuasa selepas panggilan balik pelaksana dipanggil dan Janji telah dibuat. Oleh itu, kod dalam panggilan balik pelaksana akan dilaksanakan secara serentak, manakala sebarang operasi tak segerak berikutnya akan berlaku secara tak segerak.
Atas ialah kandungan terperinci Bilakah Panggilan Balik Pembina Promise Dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!