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!