Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana Mengendalikan Panggilan Balik Asynchronous Menggunakan Await?

Bagaimana Mengendalikan Panggilan Balik Asynchronous Menggunakan Await?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 05:46:27921semak imbas

How to Handle Asynchronous Callbacks Using Await?

Pengendalian Panggilan Balik Tak Segerak dengan Menunggu

Dalam senario tertentu, semasa menggunakan panggilan balik seperti:

test() {
  api.on( 'someEvent', function( response ) {
    return response;
  });
}

anda mungkin memerlukan untuk menggabungkan ketidaksegerakan. Untuk menjadikan fungsi ini tidak segerak dan penggunaan menanti, anda mesti terlebih dahulu memastikan bahawa fungsi panggil balik (someEvent) mengembalikan Janji. Ini kerana fungsi async bergantung pada Promises untuk menyelesaikan operasi tak segerak.

Versi disemak api.on():

function apiOn(event) {
  return new Promise(resolve => {
    api.on(event, response => resolve(response));
  });
}

Menggunakan fungsi yang dikemas kini ini, anda kini boleh mengubah suai test() menjadi fungsi tak segerak:

async function test() {
  return await apiOn( 'someEvent' );
}

Walau bagaimanapun, fungsi tak segerak juga mengembalikan Promises, jadi nilai hasil sebenar test() ialah Janji yang boleh diselesaikan dalam fungsi tak segerak yang lain:

async function whatever() {
  // snip
  const response = await test();
  // use response here
  // snip
}

Atas ialah kandungan terperinci Bagaimana Mengendalikan Panggilan Balik Asynchronous Menggunakan Await?. 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