Skip to content

Commit 278c490

Browse files
committed
fix
1 parent 4ef2be3 commit 278c490

File tree

1 file changed

+18
-8
lines changed
  • packages/svelte/src/internal/client/dom/blocks

1 file changed

+18
-8
lines changed

packages/svelte/src/internal/client/dom/blocks/boundary.js

+18-8
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ export function boundary(node, props, boundary_fn) {
111111

112112
if (suspend_count++ === 0) {
113113
queue_micro_task(() => {
114+
if (suspended_effect) {
115+
return;
116+
}
117+
114118
var effect = boundary_effect;
115119
suspended_effect = boundary_effect;
116120

@@ -149,14 +153,20 @@ export function boundary(node, props, boundary_fn) {
149153
return false;
150154
}
151155

152-
if (--suspend_count === 0 && suspended_effect !== null) {
153-
if (boundary_effect) {
154-
destroy_effect(boundary_effect);
155-
}
156-
boundary_effect = suspended_effect;
157-
suspended_effect = null;
158-
anchor.before(/** @type {DocumentFragment} */ (suspended_fragment));
159-
resume_effect(boundary_effect);
156+
if (--suspend_count === 0) {
157+
queue_micro_task(() => {
158+
if (!suspended_effect) {
159+
return;
160+
}
161+
162+
if (boundary_effect) {
163+
destroy_effect(boundary_effect);
164+
}
165+
boundary_effect = suspended_effect;
166+
suspended_effect = null;
167+
anchor.before(/** @type {DocumentFragment} */ (suspended_fragment));
168+
resume_effect(boundary_effect);
169+
});
160170
}
161171

162172
return true;

0 commit comments

Comments
 (0)