Bolehkah Fungsi Javascript Asynchronous Dipanggil Secara Segerak?
Walaupun pengaturcaraan tak segerak adalah perkara biasa dalam Javascript, senario tertentu mungkin memerlukan panggilan fungsi segerak untuk sedia ada. pangkalan kod. Walaupun mengakui sifat suboptimum pendekatan ini, panggilan tak segerak mungkin perlu diubah suai ke pangkalan kod segerak yang lebih besar kerana kekangan masa.
Menyekat Fungsi Panggilan Balik
Cabarannya terletak pada menyekat pelaksanaan fungsi panggilan sehingga panggilan balik daripada fungsi tak segerak adalah diterima. Pertimbangan utama termasuk:
Contoh Pelaksanaan:
function doSomething() { var data; function callBack(d) { window.data = d; } myAsynchronousCall(param1, callBack); // Start polling var intvl = setInterval(function() { if (window.data) { clearInterval(intvl); console.log(data); } }, 100); }
Pemfaktoran semula untuk Pematuhan Asynchronous:
Walau bagaimanapun, ia berbaloi mengambil perhatian bahawa pendekatan yang ideal kekal untuk mengubah suai fungsi panggilan dan lulus panggilan balik untuk mengendalikan operasi tak segerak. Ini mengekalkan integriti tak segerak tanpa mengorbankan fungsi pangkalan kod segerak.
function doSomething(func) { function callBack(d) { func(d); } myAsynchronousCall(param1, callBack); } doSomething(function(data) { console.log(data); });
Atas ialah kandungan terperinci Bolehkah Fungsi JavaScript Asynchronous Dipaksa Melaksanakan Secara Segerak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!