Rumah >hujung hadapan web >tutorial js >Bilakah Panggilan Balik JavaScript Asynchronous?

Bilakah Panggilan Balik JavaScript Asynchronous?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-20 11:45:30389semak imbas

When Are JavaScript Callbacks Asynchronous?

Panggil Balik JavaScript: Asynchronous atau Not?

Panggil balik JavaScript bukan tak segerak secara universal. Dalam senario tertentu, seperti contoh yang anda berikan dengan fungsi addOne dan simpleMap, kod tersebut beroperasi secara serentak.

JavaScript Asynchronous dalam Pelayar

Fungsi AJAX berasaskan panggilan balik dalam jQuery selalunya tidak segerak kerana ia melibatkan permintaan XHR (XMLHttpRequest). Secara lalai, permintaan XHR dalam penyemak imbas adalah tidak segerak, membenarkan pelaksanaan skrip berterusan semasa permintaan sedang diproses.

JavaScript Asynchronous dalam Node.js

Dalam Node.js, tingkah laku tak segerak biasanya timbul daripada operasi input/output (I/O), seperti fail I/O, process.nextTick, setTimeout dan setInterval. Panggilan pangkalan data berasaskan panggil balik dengan MongoDB/Mongoose adalah tak segerak disebabkan oleh operasi I/O asas yang terlibat dalam berinteraksi dengan pangkalan data.

Situasi Tak Segerak Yang Ditetapkan

Ketaksegerakan selalunya sebati dalam persekitaran. Dalam penyemak imbas, fungsi panggil balik yang dikaitkan dengan permintaan XHR sememangnya tidak segerak. Dalam Node.js, panggilan balik yang dipautkan kepada operasi I/O adalah tidak segerak.

Fungsi Tak Segerak Tersuai

Tanpa bergantung semata-mata pada fungsi persekitaran tertentu, anda boleh mencapai gelagat tak segerak dengan memanfaatkan janji ES6. Janji menyediakan mekanisme peringkat bahasa untuk mentakrifkan operasi tak segerak. Fungsi panggil balik yang dilampirkan pada promise (melalui then and catch) sentiasa dilaksanakan secara tidak segerak, memastikan kod yang mengikuti janji tidak disekat.

Atas ialah kandungan terperinci Bilakah Panggilan Balik JavaScript Asynchronous?. 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