首頁 > web前端 > js教程 > 主體

如何使用Await處理非同步回調?

Mary-Kate Olsen
發布: 2024-10-30 05:46:27
原創
920 人瀏覽過

How to Handle Asynchronous Callbacks Using Await?

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!