如何解决什么是JS错误帮助防止打字稿错误,即返回承诺的函数必须是异步@ typescript-eslint / promise-function-async
我觉得这是没有必要的。这个错误规则是为了防止诺言返回,没有错误吗?此错误有什么帮助?
但是我不明白这里的真正含义是什么
非异步承诺-从技术上讲,返回函数都可以。处理这些函数结果的代码通常需要同时处理两种情况,这可能会变得复杂
both
所指的是解决还是拒绝或其他?
解决方法
改写the rule's documentation中的描述:如果一个函数既可以引发同步错误又返回被拒绝的诺言,那么编写代码来处理它就很困难。此规则可确保一个函数不会执行一项操作,而不会执行两项操作。
例如,如果一个函数可能同时具有同步和异步错误,则处理它们的过程需要像这样:
function example (obj) {
// this might throw synchronously
const result = JSON.stringify(obj);
// This might reject (asynchronously)
return new Promise((resolve,reject) => {
if (Math.random() > 0.5) {
resolve(result);
} else {
reject('too bad');
}
});
}
try {
example({ foo: 'bar' })
.catch(err => {
// Have to split my error handling to two places,not one
});
} catch (err) {
// Have to split my error handling to two places,not one
}
不只是一个收获
example({ foo: 'bar' })
.catch(err => {
// All error handling in one place
});
与所有棉绒规则一样,如果您发现它没有用,请随时禁用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。