在哪里放“Q.longStackSupport = true”?

时间:2014-06-04 17:19:15

标签: javascript promise q

来自documentation of Q(Javascript承诺库):

Q.longStackSupport = true;
  

但是,此功能确实会带来一些严重的性能和内存开销。如果您正在处理许多承诺,或者尝试将服务器扩展到许多用户,那么您应该将其保留下来。但是在发展中,去吧!

我发现自己总是写这样的代码:

var Q = require('q');
Q.longStackSupport = true;

但是,如果我决定关闭longStackSupport,我将不得不触及代码中的大量文件。

所以,我想知道是否有更优雅的解决方案:

  • 包括Q?
  • 时是否有推荐的模式
  • 仅拨打Q.longStackSupport一次就足够了吗?

1 个答案:

答案 0 :(得分:2)

是的,仅在一个地方召唤一次就足够了。

在init.js中,无论你的根文件是什么,我都会把

if (process.env.NODE_ENV === "development") {
    Q.longStackSupport = true;
}

如果您将NODE_ENV环境变量设置为开发,则会自动启用它。

$ export NODE_ENV=development
$ node init.js