使用Await 進行非同步回調處理
在某些情況下,使用以下回呼時:
test() { api.on( 'someEvent', function( response ) { return response; }); }您可能需要合併非同步性。要讓這個函數非同步並使用await,首先必須確保回呼函數(someEvent)回傳一個Promise。這是因為非同步函數依賴 Promises 來完成非同步操作。 api.on() 的修訂版本:
function apiOn(event) { return new Promise(resolve => { api.on(event, response => resolve(response)); }); }使用此更新的函數,您現在可以修改test()成為非同步函數:
async function test() { return await apiOn( 'someEvent' ); }但是,非同步函數也會傳回Promise,因此test() 的實際結果值是另一個可以在另一個非同步函數中解析的Promise:
async function whatever() { // snip const response = await test(); // use response here // snip }
以上是如何使用Await處理非同步回調?的詳細內容。更多資訊請關注PHP中文網其他相關文章!