---
url: /docs/guide/usage/linter/rules/unicorn/no-useless-promise-resolve-reject.md
---

### 作用

禁止在异步函数或 `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`。

## 使用方法

## 版本

此规则添加于 v0.0.18。

## 参考资料
