>  기사  >  웹 프론트엔드  >  Await를 사용하여 비동기 콜백을 처리하는 방법은 무엇입니까?

Await를 사용하여 비동기 콜백을 처리하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 05:46:27923검색

How to Handle Asynchronous Callbacks Using Await?

Await를 사용한 비동기 콜백 처리

특정 시나리오에서는 다음과 같은 콜백을 사용하는 동안

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

필요할 수 있습니다. 비동기성을 통합합니다. 이 함수를 비동기식으로 만들고 대기를 사용하려면 먼저 콜백 함수(someEvent)가 Promise를 반환하는지 확인해야 합니다. 이는 비동기 함수가 비동기 작업을 완료하기 위해 Promise에 의존하기 때문입니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.