Voglio sapere se le JS promesse facessero parte di es5? Se è così, perché non funziona a volte nei browser più vecchi e dobbiamo aggiungere un polyfill per lo stesso. Inoltre, quale polyfill dovrebbe essere aggiunto in quel caso, uno es5 o es6? Ho un po 'di confusione per quanto riguarda lo stesso.ES5 vs ES6 Promises
risposta
ES5 non ha avuto promesse. Le librerie come jQuery o Angular avevano le loro implementazioni di promessa personalizzate e non standard.
Le implementazioni di Promise popolari da utilizzare con ES5 sono Bluebird (che è compatibile con lo standard ES6) e Q (che non era originariamente compatibile con lo standard ES6, anche se sembra muoversi in quella direzione) e RSVP.
Né i polifibri effettivi non sono di ostacolo se sono presenti promesse native perché aggiungono funzionalità aggiuntive.
Ci sono alcuni polifibri puri per le promesse ES6. Ecco uno che è un sottoinsieme di RSVP: https://github.com/stefanpenner/es6-promise.
Non ci sono motivi per utilizzare più di un polyfill come potete leggere qui: Are there still reasons to use promise libraries like Q or BlueBird now that we have ES6 promises?
Chiedendo una raccomandazione di una biblioteca specifica polyfill è considerata off-topic qui su Stack Overflow quindi non voglio commentare su questo .
@ jfriend00 Ho trovato su googling questa codepen http://codepen.io/tijmenbruggeman/pen/LVOqBq È fuorviante? –
@ParamSingh - Che cosa ha a che fare codepen con qualcosa qui? – jfriend00
@ KirillSlatin - Ho già cambiato "personalizzato e non standard", anche se preferirei spendere energie su contenuti significativi piuttosto che usare parole con parole che non potrebbero confondere nessuno. – jfriend00
- 1. Karma, PhantomJS ed es6 Promises
- 2. Webpack non converte ES6 in ES5
- 3. Futures vs. Promises
- 4. Utilizzo dei metodi di array ES5 con i generatori ES6
- 5. Javascript ES6/ES5 trova nella matrice e cambia
- 6. do jQuery promises conform Promises/A +
- 7. Importazioni CommonJS vs importazioni ES6
- 8. Babel [preprocessore karma-babel] Non conversione ES6-> ES5 per test karma
- 9. Come posso compilare il codice ES6 su ES5 per il browser?
- 10. Object.defineProperty in ES5?
- 11. ES5 Object.assign equivalente
- 12. Come usare Promises nel nodo 4.x?
- 13. Migrazione da CoffeeScript a es6
- 14. Javascript ES6 esportazione const vs export let
- 15. La funzione si applica con Promises
- 16. Shim vs. Sham: Qual è la differenza?
- 17. Come utilizzare ES6 con PhantomJS
- 18. AngularJS Array of Promises
- 19. Knex Transaction with Promises
- 20. $ q.all e nested promises
- 21. ritardo per jquery promises
- 22. JavaScript: Promises + questo
- 23. ES6 modulo concatenazione
- 24. Promises - callback degli errori contro catch
- 25. Perché ES6 definisce map.length == 0?
- 26. Come usare Promises con PapaParse?
- 27. carico con JavaScript utilizzando Promises
- 28. Gestione di filiali con Promises
- 29. Promises e istruzioni generiche .catch()
- 30. ES6 risultato generatore asincrono
ES5 non ha avuto promesse. Le librerie come jQuery o Angular avevano le loro implementazioni di promesse proprietarie. – jfriend00
ES5 non ha promesse come parte della lingua. Per ES5, le promesse sono solo uno schema di progettazione. Ci sono davvero molte librerie in ES5 che implementano molti tipi diversi di promesse. Puoi persino implementarli da solo perché è solo un modello di design. – slebetman
@slebetman Puoi fornirmi un esempio semplice per l'implementazione della promessa? –