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!