>  기사  >  웹 프론트엔드  >  `setTimeout()` 없이 비동기 JavaScript 함수를 어떻게 만들 수 있나요?

`setTimeout()` 없이 비동기 JavaScript 함수를 어떻게 만들 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-26 05:54:03625검색

How Can I Create Asynchronous JavaScript Functions Without `setTimeout()`?

Javascript의 비동기 함수: setTimeout() 없이 나만의 함수 만들기

click 이벤트와 같은 Javascript 이벤트 핸들러는 일반적으로 동기 방식으로 코드를 실행합니다. 그러나 백그라운드에서 코드를 실행할 수 있는 비동기 함수를 생성하려는 시나리오가 있습니다.

비동기의 의미를 이해하려면 제공된 코드 샘플을 고려하세요. 사용자가 "링크" 요소를 클릭하면 "Enter" 및 "Exit" 메시지가 콘솔에 즉시 기록됩니다. 그러나 애니메이션 기능의 일부인 "완료" 메시지는 비동기적으로 기록됩니다.

이 비동기 동작을 통해 애니메이션이 실행되는 동안 다른 코드를 실행할 수 있습니다. 따라서 기술적으로 애니메이션이 완료되기 전에 "종료" 메시지가 기록됩니다.

자신만의 비동기 함수를 생성하려는 경우 Javascript는 기본적으로 이를 수행하는 방법을 제공하지 않는다는 점에 유의하는 것이 중요합니다. 대신 비동기 실행을 기본적으로 지원하는 기술을 활용해야 합니다.

비동기 실행 기술:

  • setInterval
  • setTimeout
  • requestAnimationFrame
  • XMLHttpRequest
  • WebSocket
  • Worker
  • HTML5 API(예: File API, Web Database API)
  • 기술 onload 지원

예를 들어 jQuery의 애니메이션 함수는 실제로 비동기 실행을 위해 내부적으로 setInterval을 사용합니다.

따라서 이러한 기술을 활용하지 않고는 Javascript에서 진정한 맞춤형 비동기 함수를 만들 수 없지만, Javascript와 해당 라이브러리에서 제공하는 사용 가능한 도구를 활용하여 비동기 동작을 효과적으로 생성할 수 있습니다.

위 내용은 `setTimeout()` 없이 비동기 JavaScript 함수를 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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