# san/no-async-in-computed-properties

computed 属性中不允许异步行为。

  • ⚙️ 此规则包含于 "plugin:san/essential", "plugin:san/strongly-recommended""plugin:san/recommended".

计算属性应该是同步的。 它们内部的异步操作可能无法按预期工作,并可能导致意外行为,应该避免使用它们。

# 📖 规则细节

此规则目的是防止在计算属性中调用异步方法。

<script> export default { computed: { /* ✓ GOOD */ foo () { var bar = 0 try { bar = bar / this.data.get('a') } catch (e) { return 0 } finally { return bar } }, /* ✗ BAD */ pro () { return Promise.all([new Promise((resolve, reject) => {})]) }, foo1: async function () { return await someFunc() }, bar () { return fetch(url).then(response => {}) }, tim () { setTimeout(() => { }, 0) }, inter () { setInterval(() => { }, 0) }, anim () { requestAnimationFrame(() => {}) } } } </script>
Now loading...

# 🔧 配置

暂无。

# 🔍 实现