Este é um polyfill do ES6 Promise. A implementação é um subconjunto de rsvp.js extraído por @jakearchibald. Se você deseja recursos extras e mais opções de depuração, verifique a biblioteca completa.
Para obter detalhes da API e como usar promessas, consulte o artigo JavaScript Promises HTML5Rocks.
es6-promise 27,86 KB (7,33 KB compactados)
es6-promise-auto 27,78 KB (7,3 KB compactado) - Fornece/substitui automaticamente Promise
se estiver ausente ou quebrado.
es6-promise-min 6,17 KB (2,4 KB compactados)
es6-promise-auto-min 6,19 KB (2,4 KB compactado com gzip) - Versão reduzida de es6-promise-auto
acima.
Para usar através de um CDN inclua isto em seu html:
<!-- Fornece/substitui automaticamente `Promise` se estiver faltando ou quebrado. --><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> <!-- Versão reduzida de `es6-promise-auto` abaixo. --><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>
Para instalar:
fio adicionar es6-promessa
ou
npm instalar es6-promessa
Para usar:
var Promessa = require('es6-promise').Promessa;
catch
e finally
são palavras-chave reservadas no IE<9, o que significa que promise.catch(func)
ou promise.finally(func)
gera um erro de sintaxe. Para contornar isso, você pode usar uma string para acessar a propriedade conforme mostrado no exemplo a seguir.
No entanto, a maioria dos minificadores corrigirá isso automaticamente para você, tornando o código resultante seguro para navegadores antigos e de produção:
promessa['catch'](function(err) { // ...});
promessa['finalmente'](function() { // ...});
Para preencher o ambiente global (no Node ou no navegador via CommonJS) use o seguinte trecho de código:
require('es6-promise').polyfill();
Alternativamente
require('es6-promessa/auto');
Observe que não atribuímos o resultado de polyfill()
a nenhuma variável. O método polyfill()
corrigirá o ambiente global (neste caso, para o nome Promise
) quando chamado.
Você precisará ter o PhantomJS instalado globalmente para executar os testes.
npm install -g phantomjs
npm run build
para compilação
npm test
para executar testes
npm start
para executar um observador de compilação e servidor web para testar
npm run test:server
para um executor de teste testem e construtor de observação