refactor: ensure watcher callbacks are deferred

This commit is contained in:
Evan You
2018-09-20 18:57:13 -04:00
parent 9b50a5abb9
commit bf38fea313
5 changed files with 38 additions and 17 deletions

View File

@@ -17,18 +17,14 @@ export function queueJob(job: () => void, postFlushCb?: () => void) {
}
}
if (postFlushCb) {
queuePostFlushCb(postFlushCb)
postFlushCbs.push(postFlushCb)
}
if (!flushing) {
nextTick(flushJobs)
}
}
export function queuePostFlushCb(cb: () => void) {
postFlushCbs.push(cb)
}
export function flushJobs() {
function flushJobs() {
flushing = true
let job
while ((job = queue.shift())) {