nextTick
# 概述
nextTick
方法用于在 DOM 更新循环结束后执行延迟回调,它能够确保回调函数在 Vue 实例数据变化后的下一个 DOM 更新周期中执行,这意味着可以在回调中访问最新的 DOM。
# 源码分析
nextTick
方法在src/runtime-core/scheduler.ts
中定义,其核心逻辑是使用Promise.resolve()
创建一个微任务,然后使用then()
方法将回调函数添加到微任务队列中。
function nextTick(fn) {
const p = currentFlushPromise || resolvedPromise;
return fn ? p.then(this ? fn.bind(this) : fn) : p;
}
1
2
3
4
2
3
4
编辑 (opens new window)
上次更新: 2024/07/10, 09:30:42