Rumah >hujung hadapan web >tutorial js >Bilakah Panggilan Balik Promise Constructor Dilaksanakan?

Bilakah Panggilan Balik Promise Constructor Dilaksanakan?

Susan Sarandon
Susan Sarandonasal
2024-11-26 08:56:17908semak imbas

When Are Promise Constructor Callbacks Executed?

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!

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