From 5639022f80e7a80f07eb94e1ec8a4ebc4df81251 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 9 Nov 2018 18:08:53 -0500 Subject: [PATCH] wip: fix insertBefore --- packages/runtime-core/src/createRenderer.ts | 2 +- packages/scheduler/src/experimental.ts | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/runtime-core/src/createRenderer.ts b/packages/runtime-core/src/createRenderer.ts index a6f750c02..fd6452346 100644 --- a/packages/runtime-core/src/createRenderer.ts +++ b/packages/runtime-core/src/createRenderer.ts @@ -113,7 +113,7 @@ export function createRenderer(options: RendererOptions) { if (refNode === null) { queueNodeOp([platformAppendChild, container, newNode]) } else { - queueNodeOp([platformInsertBefore, newNode, refNode]) + queueNodeOp([platformInsertBefore, container, newNode, refNode]) } } diff --git a/packages/scheduler/src/experimental.ts b/packages/scheduler/src/experimental.ts index 6f2a0eb73..e7a010b12 100644 --- a/packages/scheduler/src/experimental.ts +++ b/packages/scheduler/src/experimental.ts @@ -1,7 +1,5 @@ // TODO infinite updates detection -// import { Op } from './patchNodeOps' - type Op = [Function, ...any[]] const enum Priorities { @@ -180,9 +178,10 @@ function flush(): void { // now we are really done hasPendingFlush = false pendingRejectors.length = 0 - while ((job = nextTickQueue.shift())) { - job() + for (let i = 0; i < nextTickQueue.length; i++) { + nextTickQueue[i]() } + nextTickQueue.length = 0 } else { // got more job to do // shouldn't reach here in compat mode, because the patchQueue is