Vue 3 中 `watch` 与 `watchEffect` 的刷新时机差异导致接口重复请求
在 Vue 3 组合式 API 里,用 watch 或 watchEffect 监听响应式数据并触发接口请求是再常见不过的操作。但不少开发者遇到过这样的现象:同一个组件里,明明只改了一个筛选条件,页面却连续发出两次请求,或者依赖多个 ref 的监听器在某个 ref 更新时立刻执行,拿到的却是另一个 ref 的旧值。这类问题通常和 Vue 的更新调度机制有关——默认情况下,watch 的回调在组件 DOM 更新之前执行,而 watchEffect 的依赖收集和触发时机又受到 flush 配置、pre、post、sync 的影响。如果监听器内部还做了异步请求,就很容易出现竞态、重复请求甚至状态覆盖...