Create a Signal
asyncSignal creates a reusable async signal — you can manually resolve or reject it and reuse it after a reset, like Promise.withResolvers() but more flexible.
Basic Usage
typescript
import { asyncSignal } from "asyncsignal";
// Create a basic signal
const signal = asyncSignal();
// Wait for the signal to resolve or reject
await signal();
// Resolve the signal
signal.resolve("resolved value");
// Or reject the signal
signal.reject(new Error("rejected error"));Notes
- A newly created signal is in the pending state.
signal()returns aPromisethat settles onresolveorreject.- A signal can be reused after calling
reset()(see Reset & Auto Reset).
Signal Control
The core of asyncSignal is "signal control" — a reusable, manually resolvable / rejectable signal. The key difference from Promise.withResolvers() is that one signal can be reset and reused repeatedly.