为什么我要在每种情况下从.then()返回?

har*_*989 3 javascript node.js promise ecmascript-6 eslint

我正在使用ESLint并且我收到此错误:每个then()都应该返回一个值或抛出promise/always-return

码:

return somePromise.then(result => {
    console.log(result);
}).catch(error => {
    console.error(error);
});
Run Code Online (Sandbox Code Playgroud)

我为什么要从这个承诺中回来?显然没有必要,因为我只想在日志中打印结果,就是这样.在所有情况下都适用这条规则似乎不对.我正在写一个Firebase数据库触发器,我相信它只对知道承诺是否已经解决感兴趣.

Est*_*ask 5

eslint-plugin-promise存在规则是为了防止承诺未被链接导致的错误:

return somePromise.then(result => {
   anotherPromise.then(...);
});
Run Code Online (Sandbox Code Playgroud)

如果您认为自己无法从此规则中受益,并且只会使您的代码混乱使用额外的return语句或eslint-disable-*注释,请将其禁用.

Bluebird以防止此类错误而闻名,如果存在嵌套的未链接承诺,它会发出警告.