another fix

experiment_s
Dominic Gannaway 22 hours ago
parent 278c49056d
commit ad1c214b29

@ -1,6 +1,6 @@
/** @import { Effect, TemplateNode, } from '#client' */
import { BOUNDARY_EFFECT, EFFECT_TRANSPARENT, INERT } from '../../constants.js';
import { BOUNDARY_EFFECT, EFFECT_TRANSPARENT } from '../../constants.js';
import {
block,
branch,
@ -81,22 +81,19 @@ export function boundary(node, props, boundary_fn) {
var is_creating_fallback = false;
const render_snippet = (/** @type { () => void } */ snippet_fn) => {
// Render the snippet in a microtask
queue_micro_task(() => {
with_boundary(boundary, () => {
is_creating_fallback = true;
with_boundary(boundary, () => {
is_creating_fallback = true;
try {
boundary_effect = branch(() => {
snippet_fn();
});
} catch (error) {
handle_error(error, boundary, null, boundary.ctx);
}
try {
boundary_effect = branch(() => {
snippet_fn();
});
} catch (error) {
handle_error(error, boundary, null, boundary.ctx);
}
reset_is_throwing_error();
is_creating_fallback = false;
});
reset_is_throwing_error();
is_creating_fallback = false;
});
};
@ -203,12 +200,14 @@ export function boundary(node, props, boundary_fn) {
}
if (failed) {
render_snippet(() => {
failed(
anchor,
() => error,
() => reset
);
queue_micro_task(() => {
render_snippet(() => {
failed(
anchor,
() => error,
() => reset
);
});
});
}
};

Loading…
Cancel
Save