Gibt es eine Möglichkeit in Node.js zu überprüfen, ob global.Promise
die native Versprechen Implementierung ist? Im Gegensatz zu Bluebird verspricht, etc?Native Versprechungen vs. Bluebird verspricht
Antwort
Sie könnten einen Feature-Test und Test, um zu sehen, ob einer der Drossel erweiterten Funktionen sind vorhanden:
function testBluebird() {
// test to see if a representative sample of Bluebird-specific features are present
return Promise && Promise.join && Promise.try && Promise.method && Promise.map;
}
Wie bei vielen Dingen in Javascript, sollten Sie wahrscheinlich testen, um nur zu sehen, ob die gewünschten Funktionen zu verwenden sind vorhanden, anstatt zu versuchen festzustellen, ob eine bestimmte Bibliothek geladen ist.
danke, ich bin am meisten interessiert zu bestimmen, ob ein Versprechen nativ ist, nicht, wenn ein Versprechen Bluebird ist, aber das sollte für Bluebird funktionieren –
@AlexanderMills - Welches Problem versuchen Sie wirklich zu lösen? Warum willst du wissen, ob es nativ ist? Es gibt sicherlich andere nicht-native Promise-Implementierungen neben Bluebird, so dass diese Rückgabe von 'false' nicht garantiert, dass Versprechungen nativ sind. – jfriend00
Ich muss die native Promise-Implementierung patchen, aber ich möchte Promise nicht patchen, wenn sie nicht nativ ist. –
- 1. Bluebird verspricht - jede Funktion
- 2. While-Schleife mit Bluebird verspricht
- 3. Was verspricht das Bluebird Promise.finally in nativen ES6?
- 4. Verkettung verspricht mit Versprechungen innen dann()
- 5. Bluebird verspricht in NodeJS, nicht zu
- 6. Objekt-Methode mit ES6/Bluebird verspricht
- 7. bluebird verspricht - falsche Reihenfolge der Erfüllung?
- 8. Node.js Bulk-Download und Bluebird verspricht
- 9. Angular2 Observables vs. Versprechungen
- 10. bluebird vs async.js Leistung
- 11. Wie man gleichzeitige Funktionen Anruf mit Bluebird Versprechungen erstellen?
- 12. JS Versprechungen: Erfülle vs Resolve
- 13. Verspricht nicht mit Mocha, in Nodejs
- 14. Versprechungen und irreguläre Rückrufe
- 15. Verflachung verspricht in Javascript
- 16. Bluebird Versprechen Schleife
- 17. Loopback-APIs und verspricht
- 18. Javascript.Run Multi verspricht synchron
- 19. Ausführungs request.postAsync verspricht mit drossel
- 20. Bluebird Promise Bind Chain
- 21. Probleme mit pdf.js verspricht
- 22. Wie man .native Funktion von Mongo in Bluebird-Versprechen verwandelt?
- 23. Call Bluebird Promise-Funktion in Schleife
- 24. webapps vs native apps
- 25. Redis vs native Sitzungen
- 26. phonegap vs native apps
- 27. Xamarin Form vs native
- 28. Async verspricht innerhalb der Schleife
- 29. Responsive Design vs Native Mobile Native APP?
- 30. Verkettung einer Menge (> 40.000) native Versprechungen zusammen frisst zu viel Speicher
Sie können das Gegenteil tun, indem Sie in der API tippen. Sagen Sie '.promisifyAll 'für Bluebird oder' .fapply' für Q, aber das hilft nicht bei der Erkennung von nativen. Ich bin nicht sicher, dass das Ersetzen von global.Promise eine gute Idee an erster Stelle ist. – Matt
@Matt Ich ersetze global.Promise nicht, die Benutzer meiner Bibliothek tun es zwar, ich habe keine Kontrolle darüber, aber muss es erkennen. Ich stimme zu, dass das Ersetzen von global.Promise wahrscheinlich ein schlechter Zug ist. –