vue源码中nextTick实现的一个小问题求解

如图: image.png
vue版本:v2.6.11
图中nextTick函数是存在于源码目录src/core/util/next-tick.js

我不明白的点是如我圈出的这个:
如果push了一个回调函数进去callbacks数组里,然后立马设置pending为true,随后便执行timeFun函数把清空flushCallbacks这个动作推进微任务队列(或者宏任务队列),那就是说callbacks只能有一个回调函数???不应该啊,我知道肯定是我理解错了,望各位大神解答

阅读 1.2k
1 个回答

pending 就是作为开启异步任务的一个哨兵变量,只开启一个异步任务,添加多个回调函数,然后在此异步队列中批处理清空回调。 pendingtrue 并不会阻止用户继续添加回调,只是限制不开启多个异步更新队列。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题