---
url: /docs/guide/usage/linter/rules/unicorn/prefer-top-level-await.md
---

### 它的作用

优先使用顶层 await，而不是顶层 Promise 和 async 函数调用。

### 为什么这不好？

顶层 await 更易读，并且可以防止未处理的拒绝。

### 示例

以下是此规则的**错误**代码示例：

```js
(async () => {
  await run();
})();

run().catch((error) => {
  console.error(error);
});
```

以下是此规则的**正确**代码示例：

```js
await run();

try {
  await run();
} catch (error) {
  console.error(error);
}
```

## 如何使用

## 版本

此规则于 v1.20.0 中添加。

## 参考资料
