>  기사  >  웹 프론트엔드  >  **JavaScript Promise에서 체인을 취소할 수 있나요?**

**JavaScript Promise에서 체인을 취소할 수 있나요?**

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-25 14:30:02779검색

**Can You Cancel the Chain in JavaScript Promises?**

Vanilla ECMAScript 6 Promise Chain 취소

문제

JavaScript Promise 인스턴스에 대한 이벤트 핸들러 .then을 지울 수 있습니까?

배경

특정 프레임워크를 사용하는 테스트가 시간 초과되면 시간 초과 Promise는 Assert.fail()을 호출하여 테스트를 실패로 표시합니다. 그러나 테스트 Promise(결과)가 여전히 해결을 기다리고 있기 때문에 테스트는 계속 실행됩니다.

원하는 솔루션

이상적으로는 결과 변수의 나머지 .thens를 지워서 추가 방지를 수행할 수 있습니다.

답변

안타깝게도 ECMAScript 6에는 Promise나 해당 .thens 핸들러를 취소하는 내장 메서드가 없습니다. ES 위원회는 향후 ECMAScript 버전에 채택될 수 있는 잠재적인 솔루션을 계속 논의하고 있습니다.

가능한 해결 방법

공식 솔루션이 구현될 때까지 다음 해결 방법을 고려할 수 있습니다.

  • 하위 클래스: 취소 논리를 통합하는 Promise의 자체 하위 클래스를 만듭니다.
  • Userland Promise 구현: 취소 기능을 제공하는 타사 Promise 구현을 살펴보세요. 취소 가능 약속 또는 약속 취소와 같은

추가 참고 사항

문제에 언급된 특정 사례에서 테스트가 종료되지 않는 문제는 테스트 기능. 이를 해결하려면 테스트 기능 내에서 오류를 적절하게 처리해야 합니다.

위 내용은 **JavaScript Promise에서 체인을 취소할 수 있나요?**의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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