"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript에서 지연, 약속 및 미래의 차이점은 무엇입니까?

JavaScript에서 지연, 약속 및 미래의 차이점은 무엇입니까?

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

What\'s the Distinction Between Deferreds, Promises, and Futures in JavaScript?

JavaScript의 지연, 약속, 미래의 차이점

JavaScript에서는 일반적으로 지연, 약속, 미래가 비동기 작업을 처리하는 데 사용됩니다. . 이러한 각 개념에는 고유한 특성 세트가 있습니다.

지연

공식 문서에서는 명확하게 정의되지 않으며 지연은 일반적으로 약속 해결의 중재자로 사용됩니다. 해결 및 거부 기능을 모두 수행합니다. 또한 프로미스로 구현되어 then 함수를 사용할 수 있습니다.

프로미스

프로미스는 이러한 맥락에서 가장 포괄적인 개념을 나타냅니다. 비동기 작업의 결과를 캡슐화하여 다른 대상 함수를 허용하는 then 함수를 노출합니다. Promises/A 사양은 Promise가 어떻게 작동해야 하는지에 대한 표준을 설정하여 이전 Promises/A 사양의 모호성을 해결합니다.

Futures

현재 토론에서 덜 일반적으로 사용되는 용어입니다. 에서 futures는 then 기능을 제공하지 않고 동시성과 오류 처리를 추상화하는 프록시 객체를 나타냅니다. 예를 들어 FutureJS는 이러한 목적으로 이 용어를 일반적으로 사용합니다.

주요 차이점

  • 해결 책임: 지연된 항목은 promise.
  • Thenability: Promise는 항상 then 함수를 구현하지만 future는 일반적으로 그렇지 않습니다.
  • 공통성: Deferred는 일반적으로 구현에 사용됩니다. 반면 선물은 덜 널리 퍼져 있습니다. 약속은 가장 널리 사용되는 개념입니다.

요약하자면, 이러한 용어는 때때로 같은 의미로 사용될 수 있지만 각각은 뚜렷한 특징을 가지고 있습니다. 지연은 약속 해결의 원동력이고, 약속은 비동기 작업에 대한 전반적인 전략을 나타내며, 미래는 동시성을 추상화하는 데 덜 일반적으로 사용되는 용어입니다.

릴리스 선언문 이 글은 1729669172에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

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

Copyright© 2022 湘ICP备2022001581号-3