第 10 课2026.09.11
在下一次监听回调前取消旧任务。
第 10 课:watch清理副作用
- 日期:2026-09-11
- 课程序号:第 10 课
- 知识点:onCleanup
用途
在下一次监听回调前取消旧任务。
核心概念
onCleanup 注册撤销逻辑,避免过期定时器继续产生副作用。
最小代码或操作示例
vue
watch(keyword, (value, _, onCleanup) => {
const id = setTimeout(() => console.log(value), 500)
onCleanup(() => clearTimeout(id))
})3~5 分钟练习
快速修改三次关键字,观察输出次数。
参考答案
旧定时器被清理,停顿后只输出最后一次值。
与上一课的联系
上一课用 watch 执行副作用;本课清理过期副作用。