Это полифилл промиса ES6. Реализация представляет собой подмножество rsvp.js, извлеченное @jakearchibald. Если вам нужны дополнительные функции и дополнительные возможности отладки, ознакомьтесь с полной библиотекой.
Подробности об API и о том, как использовать обещания, см. в статье JavaScript Promises HTML5Rocks.
es6-promise 27,86 КБ (7,33 КБ в сжатом виде)
es6-promise-auto 27,78 КБ (7,3 КБ в сжатом виде в формате gzip) — автоматически предоставляет/заменяет Promise
если оно отсутствует или нарушено.
es6-promise-min 6,17 КБ (2,4 КБ в сжатом виде)
es6-promise-auto-min 6,19 КБ (2,4 КБ в сжатом виде) — уменьшенная версия 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-обещание
или
npm установить es6-обещание
Чтобы использовать:
var Promise = require('es6-promise').Promise;
catch
и, finally
являются зарезервированными ключевыми словами в IE<9, что означает, что promise.catch(func)
или promise.finally(func)
выдают синтаксическую ошибку. Чтобы обойти эту проблему, вы можете использовать строку для доступа к свойству, как показано в следующем примере.
Однако большинство минификаторов автоматически исправят это за вас, что сделает полученный код безопасным для старых браузеров и рабочей среды:
обещание['поймать'](функция(ошибка) { // ...});
обещание['наконец'](функция() { // ...});
Чтобы заполнить глобальную среду (либо в Node, либо в браузере через CommonJS), используйте следующий фрагмент кода:
require('es6-promise').polyfill();
Альтернативно
require('es6-обещание/авто');
Обратите внимание, что мы не присваиваем результат функции polyfill()
какой-либо переменной. Метод polyfill()
исправит глобальное окружение (в данном случае имя Promise
) при вызове.
Для запуска тестов вам потребуется глобально установить PhantomJS.
npm install -g phantomjs
npm run build
для сборки
npm test
для запуска тестов
npm start
наблюдатель сборки и веб-сервер для тестирования
npm run test:server
для запуска тестов testem и наблюдающего за ним строителя