unicorn/no-useless-promise-resolve-reject Pedantic
作用
禁止在异步函数或 Promise#then/catch/finally 回调中返回被 Promise.resolve 或 Promise.reject 包裹的值。
为什么这不好?
在异步函数或 Promise#then/catch/finally 回调中,使用 Promise.resolve 包裹返回值是没有必要的,因为异步函数和 Promise 回调函数中的所有返回值都已经被包装在一个 Promise 中了。
同样,返回一个被 Promise.reject 包裹的错误等价于直接 throw 该错误。这在异步生成器中的 yield 也是同样如此。
示例
此规则的错误代码示例:
javascript
async () => Promise.resolve(bar);此规则的正确代码示例:
javascript
async () => bar;配置
此规则接受一个包含以下属性的配置对象:
allowReject
type: boolean
default: false
如果设置为 true,则允许在异步函数和 promise 回调中使用 Promise.reject。
使用方法
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"unicorn/no-useless-promise-resolve-reject": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"unicorn/no-useless-promise-resolve-reject": "error",
},
});bash
oxlint --deny unicorn/no-useless-promise-resolve-reject版本
此规则添加于 v0.0.18。
