{ "id": "c161456355ba0abce0a55614", "source": "solid:signals", "type": "github-document", "title": "create-deferred", "content": "---\ntitle: createDeferred\nuse_cases: \u003e-\n performance optimization, idle updates, non-critical ui updates, debouncing\n changes, reducing re-renders\ntags:\n - performance\n - optimization\n - deferred\n - idle\n - updates\nversion: '1.0'\ndescription: \u003e-\n Defer reactive updates until browser idle with createDeferred. Optimize\n performance by batching non-critical changes with timeout control.\n---\n\n```ts\nimport { createDeferred } from \"solid-js\"\n\nfunction createDeferred\u003cT\u003e(\n\tsource: () =\u003e T,\n\toptions?: {\n\t\ttimeoutMs?: number\n\t\tequals?: false | ((prev: T, next: T) =\u003e boolean)\n\t\tname?: string\n\t}\n): () =\u003e T\n\n```\n\nCreates a readonly that only notifies downstream changes when the browser is idle.\n`timeoutMs` is the maximum time to wait before forcing the update.\n\n## Options\n\n| Name | Type | Description |\n| --------- | ------------------------------------------ | ------------------------------------------------------ |\n| timeoutMs | `number` | The maximum time to wait before forcing the update. |\n| equals | `false or ((prev: T, next: T) =\u003e boolean)` | A function that returns true if the value has changed. |\n| name | `string` | The name of the readonly. |", "url": "https://github.com/solidjs/solid-docs/blob/HEAD/src/routes/reference/secondary-primitives/create-deferred.mdx", "metadata": { "path": "src/routes/reference/secondary-primitives/create-deferred.mdx", "repo": "solidjs/solid-docs", "repo_url": "https://github.com/solidjs/solid-docs.git", "size": 1362, "source_type": "github" }, "hash": "5e7695c0f25de6988dccf95c3fdbe0625b531edd7c0387ba95b351ae2ecf7408", "timestamp": "2026-02-23T11:43:00.190554565+01:00" }