flushSync() — svelte Function Reference
Architecture documentation for the flushSync() function in batch.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 5bc3c950_96f7_e454_6cb7_65ffc2179811["flushSync()"] d8e42d9d_2e3c_635c_19d3_b946a4341c0f["batch.js"] 5bc3c950_96f7_e454_6cb7_65ffc2179811 -->|defined in| d8e42d9d_2e3c_635c_19d3_b946a4341c0f 6b775363_a430_a650_b5bb_43f6c298e1fe["await_block()"] 6b775363_a430_a650_b5bb_43f6c298e1fe -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 3991a63f_13e1_fb44_3044_00252e1380f3["flush_queued_effects()"] 3991a63f_13e1_fb44_3044_00252e1380f3 -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 e5a062fc_3223_a0e1_88f5_b719e1456637["eager_flush()"] e5a062fc_3223_a0e1_88f5_b719e1456637 -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 a967b3b9_6263_60ec_74ff_b1889e66d284["fork()"] a967b3b9_6263_60ec_74ff_b1889e66d284 -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 a53cae39_471c_2887_0e0b_eedb385d245a["tick()"] a53cae39_471c_2887_0e0b_eedb385d245a -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 b72b8566_6fe5_6e9f_7848_f28f37253eff["constructor()"] b72b8566_6fe5_6e9f_7848_f28f37253eff -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 1edde895_4b1f_7b83_74c8_3640bf220ca9["run_test_variant()"] 1edde895_4b1f_7b83_74c8_3640bf220ca9 -->|calls| 5bc3c950_96f7_e454_6cb7_65ffc2179811 f618e317_1a72_981e_22c2_44b823813de7["flush_effects()"] 5bc3c950_96f7_e454_6cb7_65ffc2179811 -->|calls| f618e317_1a72_981e_22c2_44b823813de7 2971ce9b_3ec0_83be_f33b_e82e216aeeb3["flush_tasks()"] 5bc3c950_96f7_e454_6cb7_65ffc2179811 -->|calls| 2971ce9b_3ec0_83be_f33b_e82e216aeeb3 ec59c019_2fd3_2a1c_3cf5_7cd95b795a96["flush()"] 5bc3c950_96f7_e454_6cb7_65ffc2179811 -->|calls| ec59c019_2fd3_2a1c_3cf5_7cd95b795a96 style 5bc3c950_96f7_e454_6cb7_65ffc2179811 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/client/reactivity/batch.js lines 563–599
export function flushSync(fn) {
var was_flushing_sync = is_flushing_sync;
is_flushing_sync = true;
try {
var result;
if (fn) {
if (current_batch !== null) {
flush_effects();
}
result = fn();
}
while (true) {
flush_tasks();
if (queued_root_effects.length === 0) {
current_batch?.flush();
// we need to check again, in case we just updated an `$effect.pending()`
if (queued_root_effects.length === 0) {
// this would be reset in `flush_effects()` but since we are early returning here,
// we need to reset it here as well in case the first time there's 0 queued root effects
last_scheduled_effect = null;
return /** @type {T} */ (result);
}
}
flush_effects();
}
} finally {
is_flushing_sync = was_flushing_sync;
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does flushSync() do?
flushSync() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/reactivity/batch.js.
Where is flushSync() defined?
flushSync() is defined in packages/svelte/src/internal/client/reactivity/batch.js at line 563.
What does flushSync() call?
flushSync() calls 3 function(s): flush, flush_effects, flush_tasks.
What calls flushSync()?
flushSync() is called by 7 function(s): await_block, constructor, eager_flush, flush_queued_effects, fork, run_test_variant, tick.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free