> 웹 프론트엔드 > JS 튜토리얼 > `setTimeout` 콜백을 약속으로 변환하는 방법은 무엇입니까?

`setTimeout` 콜백을 약속으로 변환하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-26 18:51:13
원래의
637명이 탐색했습니다.

How to Convert a `setTimeout` Callback into a Promise?

setTimeout에서 Promise를 생성하는 방법

문제:

비동기 프로그래밍에서는 변환하는 것이 도움이 될 수 있습니다. Promise로의 콜백. 그러나 setTimeout과 같은 Promise 기반이 아닌 함수는 기본적으로 Promise를 즉시 반환하지 않습니다. 이 문서에서는 setTimeout과 같은 함수의 컨텍스트 내에서 사용할 수 있는 Promise를 생성하는 방법을 살펴봅니다.

초기 생각:

제공된 예제에서는 setTimeout 함수를 다음과 같이 정의합니다. 콜백. Promise를 생성하려면 Promise 생성자의 실행기 함수 내에서 setTimeout 콜백을 래핑해야 합니다.

수정된 솔루션:

최신 JavaScript 및 Promise를 사용하여 다음 코드를 사용하세요. setTimeout에서 Promise를 생성하는 방법을 보여줍니다.

function later(delay) {
  return new Promise(resolve => setTimeout(resolve, delay));
}
로그인 후 복사

이 이후 함수는 지연이 걸립니다. 지정된 지연 후에 해결되는 약속을 반환합니다. 그런 다음 반환된 Promise를 비동기 코드에서 사용할 수 있습니다.

고급 고려 사항:

더 고급 시나리오의 경우 이후 함수의 다음 변형을 고려하세요.

  • 값이 포함된 지연된 약속: Promise에 의해 해결될 setTimeout 콜백.
  • 취소 가능한 Promise: setTimeout 및 관련 Promise를 취소하려면 취소 메소드가 포함된 객체를 생성할 수 있습니다.

결론:

다음에서 약속 만들기 setTimeout과 같은 콜백을 사용하면 비동기 작업을 코드베이스에 더 쉽게 통합할 수 있습니다. 이 기술을 구현하는 방법을 이해하면 비동기 JavaScript 애플리케이션의 가독성과 유지 관리성을 향상시킬 수 있습니다.

위 내용은 `setTimeout` 콜백을 약속으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿