이것은 ES6 Promise의 폴리필입니다. 구현은 @jakearchibald가 추출한 rsvp.js의 하위 집합입니다. 추가 기능과 더 많은 디버깅 옵션을 원한다면 전체 라이브러리를 확인하세요.
API 세부정보 및 Promise 사용 방법은 JavaScript Promises HTML5Rocks 기사를 참조하세요.
es6-promise 27.86KB(gzip으로 압축된 7.33KB)
es6-promise-auto 27.78KB(7.3KB gzipped) - Promise가 없거나 손상된 경우 Promise
자동으로 제공/교체합니다.
es6-promise-min 6.17KB(gzip으로 압축된 2.4KB)
es6-promise-auto-min 6.19KB(2.4KB gzipped) - 위 es6-promise-auto
의 축소된 버전입니다.
CDN을 통해 사용하려면 HTML에 다음을 포함하십시오.
<!-- 누락되거나 깨진 경우 'Promise'를 자동으로 제공/대체합니다. --><script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.js"></script><script src="https://cdn. jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script> <!-- 아래 `es6-promise-auto`의 축소된 버전입니다. --><script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script><script src="https:// cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script>
설치하려면:
원사는 es6-promise를 추가합니다.
또는
npm 설치 es6-약속
사용하려면:
var Promise = require('es6-promise').Promise;
catch
및 finally
IE<9의 예약어입니다. 이는 promise.catch(func)
또는 promise.finally(func)
가 구문 오류를 발생시킨다는 의미입니다. 이 문제를 해결하려면 다음 예제와 같이 문자열을 사용하여 속성에 액세스할 수 있습니다.
그러나 대부분의 축소 프로그램은 이 문제를 자동으로 수정하여 결과 코드를 이전 브라우저 및 프로덕션에서 안전하게 만듭니다.
약속['catch'](함수(err) { // ...});
약속['마지막'](함수() { // ...});
전역 환경을 폴리필하려면(Node에서 또는 CommonJS를 통해 브라우저에서) 다음 코드 조각을 사용하십시오.
require('es6-promise').polyfill();
대안으로
require('es6-promise/auto');
polyfill()
의 결과를 어떤 변수에도 할당하지 않는다는 점에 유의하세요. polyfill()
메서드는 호출 시 전역 환경(이 경우 Promise
이름)을 패치합니다.
테스트를 실행하려면 PhantomJS를 전역적으로 설치해야 합니다.
npm install -g phantomjs
npm run build
하여 빌드
테스트를 실행하는 npm test
npm start
빌드 감시자를 실행하고 웹 서버는 테스트합니다.
npm run test:server