---
url: /docs/guide/usage/linter/rules/vue/no-lifecycle-after-await.md
---

### 作用

禁止在 `await` 之后注册生命周期钩子。

### 为什么这不好？

生命周期钩子必须在 `setup()` 执行期间同步注册。
如果在 `await` 语句之后调用生命周期钩子，可能注册得太晚，
并且可能无法按预期工作。

### 示例

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

```vue
<script>
import { onMounted } from "vue";
export default {
  async setup() {
    await doSomething();
    onMounted(() => {
      /* ... */
    }); // 错误
  },
};
</script>
```

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

```vue
<script>
import { onMounted } from "vue";
export default {
  async setup() {
    onMounted(() => {
      /* ... */
    }); // 正确
    await doSomething();
  },
};
</script>
```

## 如何使用

## 版本

此规则于 v1.39.0 中添加。

## 参考资料
