Bluebird遗漏return警告缺失:如何修复以触发该警告?
解决Bluebird遗漏return警告不触发的问题
嘿,我刚好记得这个坑!你遇到的问题是因为Bluebird默认的warnings: true并没有启用检测未返回内部Promise的警告,得单独打开对应的配置项才行。
具体修改步骤
你只需要在Bluebird.config里添加wForgottenReturn: true这个配置,它专门负责检测then/catch/finally回调中创建了Promise但没返回的情况:
const Bluebird = require('bluebird'); Bluebird.config({ warnings: true, wForgottenReturn: true // 这行是关键,开启遗漏返回Promise的警告 }); Bluebird.resolve(1) .then(() => { Bluebird.resolve(2); // 现在会正常触发警告啦! }) .then(two => console.log(two)); // 这里会打印undefined,也能帮你确认问题所在
额外说明
- Bluebird的警告是细粒度拆分的,
warnings: true只是开启基础警告集合,像wForgottenReturn、wReturnInsideFinally这类更具体的警告需要单独启用。 - 建议只在开发环境开启这些警告,生产环境关闭以避免不必要的性能开销。
内容的提问来源于stack exchange,提问作者Estus Flask
相关产品推荐
相关产品推荐

