katanakit-js / useCreateDebouncedSignal
Function: useCreateDebouncedSignal()
ts
function useCreateDebouncedSignal<T>(initialValue, delayMs?): [SignalGetter<T>, SignalSetter<T> & {
useCancel: () => void;
}];Defined in: src/core/services/reactive.service.ts:256
Creates a signal whose setter debounces writes by delayMs milliseconds. Useful for search inputs or any value that triggers expensive work.
Type Parameters
| Type Parameter | Description |
|---|---|
T | The signal value type. |
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
initialValue | T | undefined | The initial value. |
delayMs | number | 300 | Debounce delay in milliseconds (defaults to 300). |
Returns
[SignalGetter<T>, SignalSetter<T> & { useCancel: () => void; }]
A tuple of [getter, debouncedSetter]. The setter exposes a useCancel() method to abort a pending write.
Example
ts
const [query, setQuery] = useCreateDebouncedSignal("", 250);
setQuery("hello"); // won't update until 250ms of quiet
setQuery.useCancel(); // abort pending write