J'ai quelques anciennes bibliothèques JavaScript qui utilisent jQuery promises comme objets de retour d'appels de fonction. J'utilise maintenant AngularJS qui utilise le $q service (inspiré du Q library). Quelqu'un a-t-il du code JavaScript générique pour rendre compatibles ces deux implémentations de promesses différentes, afin que les promesses jQuery puissent être utilisées comme si $ q promet? Ou quelque chose de similaire?
Répondre
Les promesses de tiers peuvent être complétées avec $q.when(thirdPartyPromise)
pour être converties en promesses $ q. Lorsque le thirdPartyPromise
résout, la promesse $ q se résout en conséquence et $scope.$apply()
est appelée.
Merci! Manqué celui-là dans les docs. –
Je suis content que q ait aussi pris ça à Q. L'astuce est que tout ce qui implémente 'promise.then (cb, eb)' peut être converti en une promesse d'un autre type, en ignorant la valeur de retour. C'est ce qu'on appelle "thenability". –
@KrisKowal, si l'enveloppe '$ q.when()' woks, alors probablement la forme simple de coercion '$ q (thirdPartyPromise)'? –
- 1. Différence entre "Q" et "q" dans angularjs et requirejs
- 2. Rendre l'extension Silverlight compatible
- 3. Comment rendre l'application navigateur compatible
- 4. Comment rendre ce code d'interface utilisateur jquery compatible avec jQuery UI 1.7.2 et jQuery 1.3.2?
- 5. Retour d'une promesse AngularJS $ q avec TypeScript
- 6. Rendre compatible l'API Loopback Ember.js
- 7. Comment rendre l'extension firefox compatible?
- 8. AngularJS et jquery html5Loader
- 9. Comment rendre mon fichier VSIX compatible avec VS11 et VS2010?
- 10. Comment rendre un contrôle compatible Winform et Webform?
- 11. asp.net webservice comment rendre compatible avec PHP et d'autres langues
- 12. Comment rendre le HTML5 MeasureText() et FillText() compatible cross-browser
- 13. Convertir qcow2 en vmdk et le rendre compatible ESXi 6.0
- 14. Comment rendre JavaScript compatible avec le client et le serveur?
- 15. Rendre l'application VB.NET compatible avec Office 2007
- 16. Comment rendre ceci compatible avec Windows?
- 17. Comment rendre l'affichage par autocomplétion python compatible?
- 18. Comment rendre ce navigateur compatible NodeJS?
- 19. Comment rendre l'application BB7 compatible avec BB6
- 20. Rendre ce code C# SwapBytes compatible x64
- 21. Comment rendre ce module compatible avec requireJS
- 22. Comment rendre la classe compatible avec JAXB?
- 23. Comment rendre un thème wordpress compatible woocommerce?
- 24. comment rendre un site mobile compatible
- 25. comment rendre mon application compatible avec zh_CN?
- 26. rendre un site Web compatible avec android
- 27. PHP: Rendre le site Unicode compatible
- 28. Comment rendre mon projet compatible avec getMapAsync?
- 29. angularjs $ q lance plusieurs promesses sur la séquence
- 30. AngularJS obtient une boucle sans fin avec $ q
Merci d'avoir répondu. Je connaissais celui-ci, mais il est difficile de l'appliquer partout. La réponse ci-dessous est plus ce que je (et probablement d'autres) recherchais. –