我正在使用高地。在我的项目中,我用bluebird替换了本机promise实现。现在,我的应用程序产生了很多警告,通过向控制台发送垃圾邮件:
(node:1503) Warning: a promise was created in a handler at usr/src/marketing-tasks/node_modules/highland/lib/index.js:517:24 but was not returned from it, see http://goo gl/rRqMUw
at new Promise (/usr/src/marketing-tasks/node_modules/bluebird/js/release/promise.js:77:14)
我知道可能有一个问题需要解决,但目前我的流工作正常。所以现在,每当我通过node
或nodemon
调用我的脚本时,我只想在输出中没有这些警告。
运行节点时如何不显示某些警告?
看起来像蓝鸟警告。您应该可以通过以下方式将其关闭:
require('bluebird').config({warnings: {wForgottenReturn: false}});
但是从长远来看,可能会更好地在实际代码中添加一些导致该警告的内容,因为您可以确定该代码可以正常工作,但稍后您可能会添加其他应该触发警告的代码。
但是当然有时候你只知道自己在做什么,并且想要关闭警告。
此外,您可以在这里使用我的caught模块 - 它旨在抑制完全不同类型的警告,但也许它也可以在这里使用。
我还创建了an issue on github,并在那里明确指出警告是误报,但它已被处理。更新到高地到v2.10.2也应该是问题,而不必完全禁用蓝鸟的警告。
Bluebird warning logging can be modified at different places via environment variables。
有多个可以启用它,例如通过:
NODE_ENV='development'
我的开发堆栈就是这种情况。
为了明确停用我设置的警告:
BLUEBIRD_WARNINGS=0