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数据库触发器,我相信它只对知道承诺是否已经解决感兴趣.
eslint-plugin-promise存在此规则是为了防止承诺未被链接导致的错误:
return somePromise.then(result => {
anotherPromise.then(...);
});
Run Code Online (Sandbox Code Playgroud)
如果您认为自己无法从此规则中受益,并且只会使您的代码混乱使用额外的return语句或eslint-disable-*注释,请将其禁用.
Bluebird以防止此类错误而闻名,如果存在嵌套的未链接承诺,它会发出警告.