2016-04-05 10 views
7

Versprechen ist jetzt ein globales reserviertes Wort in es6 und Linters werfen einen Fehler. Also, was sind die Gefahren, dies zu tunNeudefinition von Versprechen

var Promise = require("bluebird"); 

oder soll ich tun

var BluebirdPromise = require("bluebird"); 
+6

Viele von uns tun. Es gibt keine Probleme. Sie verwenden nur eine schnellere Implementierung, das ist alles. Beachten Sie jedoch, dass Sie immer mehr Versprechungen von verschiedenen Bibliotheken verwenden können. Dies ist ein sehr begrenzter Ersatz (es gibt Diskussionen in der Knotenwelt über Möglichkeiten, eine Bibliothek als Anbieter von globalen Versprechen zu definieren). –

+2

Von einem Modul-Ansatz ist es egal, weil Sie Globals nicht überschreiben, außer Sie explizit tun: 'global.Promise =' ... – MinusFour

+2

'Promise' ist kein reserviertes Wort. – Bergi

Antwort

2

Sieht aus wie es ist kein Problem zu erneut deklariert werden Versprechen, solange es nicht global ist. Aber zweitens ist ein besserer Ansatz

Viele von uns tun das. Es gibt keine Probleme. Sie verwenden nur eine schnellere Implementierung, das ist alles. Aber beachten Sie, dass Sie mehr und mehr Versprechen von verschiedenen Bibliotheken geben können, so ist dies eine sehr begrenzte Ersatz (es gibt Diskussionen in der Knoten Welt über Möglichkeiten, definieren eine Bibliothek als globaler Versprechen Anbieter). - Denys Séguret

2

Einfach gesagt, diese Zeilen innerhalb .jshintrc

{ 
    "undef": true, 
    "unused": true, 
    "predef": [ "-Promise" ] 
} 
+0

{"predef": ["-Promise"]} hat den Job für mich erledigt :) – ghuroo