2016-04-05 13 views
7

Promise现在是es6中的全局保留字,而linters会抛出错误。那么,什么是做这个Promise的重新定义

var Promise = require("bluebird"); 

的缺陷或者我应该做的

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

我们很多人做到这一点。这里没有问题。你只是使用更快的实现,就是这样。但请注意,您可能会使用各种图书馆提供的越来越多的承诺,因此这是一个非常有限的替代品(节点世界中有关于如何将图书馆定义为全球承诺提供者的讨论)。 –

+2

从模块的方法来看,它并不重要,因为除非明确地做到:'global.Promise ='... – MinusFour

+2

'Promise'不是一个保留字。 – Bergi

回答

2

貌似还没有到,只要它不是全球重新声明承诺的问题。但是,第二个是一个更好的办法

我们很多人做到这一点。这里没有问题。你只是使用更快的 实现,就是这样。但请注意,您可以使用各种库赋予了越来越多 承诺,所以这是一个非常有限的 更换(有大约方式的节点世界 讨论定义库作为一个全球性的许诺提供商)。 - 丹尼斯·塞居勒

2

简单地说这些行内.jshintrc

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

{“predef”:[“-Promise”]}为我完成了这项工作:) – ghuroo