Rumah >hujung hadapan web >tutorial js >Cara Menjeda Fungsi Node.js Sehingga Pelaksanaan Panggilan Balik
Dalam Node.js, sifat tak segerak pengaturcaraan dipacu peristiwa memerlukan pendekatan yang berbeza semasa menunggu panggilan balik. Daripada menggunakan teknik penyekatan segerak, artikel ini meneroka alternatif yang cekap untuk membuat fungsi anda dijeda sehingga masa yang ditetapkan.
Tidak seperti fungsi sekatan tradisional, fungsi Node.js yang memulakan tak segerak operasi segera memanggil panggilan balik setelah selesai, tanpa menunggu respons. Sebagai contoh:
<code class="javascript">function(query) { myApi.exec('SomeCommand', function(response) { return response; }); }</code>
Kod ini mungkin menimbulkan ralat kerana fungsi kembali serta-merta, manakala panggilan balik belum lagi digunakan. Aliran pelaksanaan fungsi diteruskan, menjadikan respons panggilan balik tidak boleh diakses.
Penyelesaian yang disyorkan dalam Node.js terletak pada penerimaan pendekatan berasaskan panggilan balik. Daripada cuba menyekat pelaksanaan, fungsi anda harus menerima parameter panggil balik yang akan digunakan apabila operasi selesai.
<code class="javascript">function(query, callback) { myApi.exec('SomeCommand', function(response) { callback(response); }); }</code>
Kini, aliran pelaksanaan fungsi tidak menunggu respons panggil balik; sebaliknya, ia serta-merta memanggil panggilan balik, yang kemudiannya boleh dikendalikan oleh pemanggil.
Daripada bergantung pada nilai pulangan tradisional, fungsi yang diubah suai memerlukan pemanggil untuk menyediakan panggilan balik fungsi yang akan menerima respons:
<code class="javascript">myFunction(query, function(returnValue) { // Process the return value here });</code>
Dengan menggunakan pendekatan berasaskan panggilan balik ini, anda boleh menjeda fungsi anda dengan berkesan sehingga panggilan balik yang diingini dipanggil, membenarkan aplikasi Node.js anda mengekalkan reka bentuk tak segerak dan cekap mereka falsafah.
Atas ialah kandungan terperinci Cara Menjeda Fungsi Node.js Sehingga Pelaksanaan Panggilan Balik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!