Home / Function/ queue_micro_task() — svelte Function Reference

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

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