queue_micro_task() — svelte Function Reference
Architecture documentation for the queue_micro_task() function in task.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 2cab0f64_6d19_d981_66e2_d2555c252702["queue_micro_task()"] 8e9a8b22_9754_09a3_8bf1_af0aeb68deca["task.js"] 2cab0f64_6d19_d981_66e2_d2555c252702 -->|defined in| 8e9a8b22_9754_09a3_8bf1_af0aeb68deca 6b775363_a430_a650_b5bb_43f6c298e1fe["await_block()"] 6b775363_a430_a650_b5bb_43f6c298e1fe -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 1faf4fc8_402e_578f_4e4f_7e097c01b149["pending()"] 1faf4fc8_402e_578f_4e4f_7e097c01b149 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 95fd9978_b635_37dc_dfee_13c687d48cd6["update_pending_count()"] 95fd9978_b635_37dc_dfee_13c687d48cd6 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 4eea2345_5d26_6ea8_43e3_80ca7101b747["error()"] 4eea2345_5d26_6ea8_43e3_80ca7101b747 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 3ceb9b1c_7062_d75e_744a_fd12a80dfdc9["reconcile()"] 3ceb9b1c_7062_d75e_744a_fd12a80dfdc9 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 12da86e1_c608_1c76_660b_570e483dc67a["remove_input_defaults()"] 12da86e1_c608_1c76_660b_570e483dc67a -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 af7a3d2c_ef51_8bd4_b88c_e1d52a36db1e["bind_group()"] af7a3d2c_ef51_8bd4_b88c_e1d52a36db1e -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 ce2fa74c_287c_b099_4a87_8b97b486275c["bind_this()"] ce2fa74c_287c_b099_4a87_8b97b486275c -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 12245a28_3cec_3119_faa7_968496e0db88["create_event()"] 12245a28_3cec_3119_faa7_968496e0db88 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 881d60c0_047b_ad82_2c37_19eec36960d9["autofocus()"] 881d60c0_047b_ad82_2c37_19eec36960d9 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 df0bba2e_5fd6_624d_e576_6c964cadc587["animate()"] df0bba2e_5fd6_624d_e576_6c964cadc587 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 d3725093_785a_922d_c180_94a562b1a49b["decrement()"] d3725093_785a_922d_c180_94a562b1a49b -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 2ec0d2fd_8bbc_b2ba_53ae_f2da02bb3ba5["ensure()"] 2ec0d2fd_8bbc_b2ba_53ae_f2da02bb3ba5 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 style 2cab0f64_6d19_d981_66e2_d2555c252702 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/client/dom/task.js lines 16–33
export function queue_micro_task(fn) {
if (micro_tasks.length === 0 && !is_flushing_sync) {
var tasks = micro_tasks;
queueMicrotask(() => {
// If this is false, a flushSync happened in the meantime. Do _not_ run new scheduled microtasks in that case
// as the ordering of microtasks would be broken at that point - consider this case:
// - queue_micro_task schedules microtask A to flush task X
// - synchronously after, flushSync runs, processing task X
// - synchronously after, some other microtask B is scheduled, but not through queue_micro_task but for example a Promise.resolve() in user code
// - synchronously after, queue_micro_task schedules microtask C to flush task Y
// - one tick later, microtask A now resolves, flushing task Y before microtask B, which is incorrect
// This if check prevents that race condition (that realistically will only happen in tests)
if (tasks === micro_tasks) run_micro_tasks();
});
}
micro_tasks.push(fn);
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does queue_micro_task() do?
queue_micro_task() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/dom/task.js.
Where is queue_micro_task() defined?
queue_micro_task() is defined in packages/svelte/src/internal/client/dom/task.js at line 16.
What does queue_micro_task() call?
queue_micro_task() calls 1 function(s): run_micro_tasks.
What calls queue_micro_task()?
queue_micro_task() is called by 16 function(s): animate, autofocus, await_block, bind_group, bind_this, createSubscriber, create_event, decrement, and 8 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free