«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как обрабатывать асинхронные обратные вызовы с помощью Await?

Как обрабатывать асинхронные обратные вызовы с помощью Await?

Опубликовано 11 ноября 2024 г.
Просматривать:214

How to Handle Asynchronous Callbacks Using Await?

Асинхронная обработка обратного вызова с помощью Await

В определенных сценариях при использовании обратных вызовов, таких как:

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

возможно, вам придется включить асинхронность. Чтобы сделать эту функцию асинхронной и использовать await, сначала необходимо убедиться, что функция обратного вызова (someEvent) возвращает обещание. Это связано с тем, что асинхронные функции полагаются на Promises для выполнения асинхронных операций.

Пересмотренная версия api.on():

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

Используя эту обновленную функцию, теперь вы можете изменить test() как асинхронную функцию:

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

Однако асинхронные функции также возвращают промисы, поэтому фактическое значение результата test() — это промис, который можно разрешить внутри другой асинхронной функции:

async function whatever() {
  // snip
  const response = await test();
  // use response here
  // snip
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3