ie9+에서 약속을 이행하는 방법이 있는가?
IE9+에서 네이티브 약속을 구현하려고 하는데 Internet Explorer가 "Promise" 클래스/오브젝트를 인식하지 못하는 것 같습니다.http://caniuse.com/ #search=Search에서 검색해 보니 IE에 Promise 오브젝트가 없습니다.그러나 jQuery와 Angular는 약속과 IE9+에서 작동하기 때문에 이상합니다.아마도 그들은 그들만의 Promise를 구현하고 있는 것 같다.** 저만의 약속을 실행할 수 있나요?**
네이티브란
네이티브라는 것은 브라우저의 코드 베이스 안에 쓰여지고 사용자 수준의 코드로 쓰여지지 않는다는 것을 의미합니다.IE9에서 기본적으로 약속을 구현하려면 Microsoft에서 IE9 소스 코드의 복사본을 가져와 코드화하고 컴파일하여 배포해야 합니다.가능한 일이긴 하지만 그렇게 실행 가능한 옵션은 아닙니다.
현재의 약속 사용
한편, 사용자 레벨에 존재하는 약속 라이브러리는 몇 가지 있습니다.독자적인 약속의 실장은 충분히 가능합니다.그 방법에 대한 훌륭한 블로그 투고입니다.
이 API를 충족하는 Bluebird(bluebird)나 Q와 같은 라이브러리를 자유롭게 포함할 수 있으며 앞으로도 ES6의 약속을 잘 준수할 수 있습니다.예를 들어 Bluebird는 IE6+에서 실행되므로 문제가 없을 것입니다.
예를 들어 Angular의 구현과 jQuery의 구현이 여기에 있습니다.내 생각에는 Angular의 구현이 더 읽기 쉽다고 생각합니다.
표준
또한 위의 동의와 달리 약속은 Promise/A+ 사양에 의해 표준화되어 있으며 Angular compliance와 같은 라이브러리와 jQuery 같은 라이브러리는 다음 버전에 적합하고 있을 가능성이 높습니다.원어민 약속 또한 표준에 부합하고 그것을 슈퍼셋한다.
여기 제가 직접 타이프 스크립트로 쓴 약속의 이행이 있습니다.이것은 IE8 이후부터 완전하게 동작하는 것을 테스트한 것입니다.네. 완전히 Promise/A+ 준거(테스트 완료)입니다.
타이프 스크립트로 쓰여져 있기 때문에, 그 정의도 수일 이내에 tsd에 올릴 예정입니다.
언급URL : https://stackoverflow.com/questions/27835687/is-there-a-way-to-implement-promises-in-ie9
'programing' 카테고리의 다른 글
401(Authentication Error)을 액시스로 처리하여 어떻게 대응합니까? (0) | 2023.04.01 |
---|---|
AngularJS용 커스텀 모듈은 어떻게 작성합니까? (0) | 2023.04.01 |
AngularJS에서 디렉티브를 동적으로 추가하려면 어떻게 해야 합니까? (0) | 2023.04.01 |
Grunt를 사용하는 동안 '카르마' 모듈을 찾을 수 없습니다. (0) | 2023.04.01 |
응답 본문에 값을 반환할 때 Spring WebFlux가 'producer' 유형을 알 수 없음 (0) | 2023.04.01 |