💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
>调度程序(core/observer/scheduler.js); 2个队列对象 userQueue: 使用vm.$watch使用; queue: 内部component组建重新render使用; 通过watcher.user来判断是用户watcher还是内部watcher 5个函数: queueWatcher runSchedulerQueue queueSorter flushSchedulerQueue resetSchedulerState 流程: queueWacther = > nextTick(flushScheduler) => runScheduler=> queue.forEach(watcher => watcher.run()); >queueWatcher(watcher) : 1、通过watcher.id避免重复添加; 2、通过watcher.user来获取队列; let queue = watcher.user ? queue : userQueue 3、添加watcher到queue数组上 queue.push(watcher) flushing && queue.splice(index,0,watcher); 4、执行nextTick(flushSchedulerQueue) >flushScheduler() : 无参数 1.执行runSchedulerQueue(userQueue),runSchedulerQueue(queue): 2、检测Vue.devtools工具是否安装,devtools.emit('flush')事件; 3、执行retSchedulerState() 重置queue和userQueue队列状态 >runSchedulerQueue(queue): queue.forEach(watcher => watcher.run); queue.length = 0;