关于nextTick的问题
来源:4-9 nextTick

正正果实
2019-12-08
在next-tick里有这几行代码,
if (useMacroTask) {
macroTimerFunc()
} else {
microTimerFunc()
}
问下在event事件里走的是macroTimerFunc,生命周期里走的是microTimerFunc,为何两边处理不一样啊?这样导致event事件和生命周期里执行异步代码的顺序不一样,是为啥要这么处理?
写回答
1回答
-
这个是 2.5.17-beta 版本的逻辑,最新 2.6 版本这块逻辑又改变了。之前主要是考虑到了一些边界情况,比如事件冒泡的情况,所以 event 统一用 macroTask 处理,确保顺序。
next-tick.js 的代码虽然不多,但是注释很详细,建议看它的注释,配合相关的 issue 加深理解。012019-12-09
相似问题