"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Await를 사용하여 비동기 콜백을 처리하는 방법은 무엇입니까?

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

2024년 11월 11일에 게시됨
검색:784

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
}
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3