Potentially outdated documentation
You're reading API reference for version 3.0.3. The latest stable release is version 3.1.0.
function createSignalthefrontside/effection
function createSignal<T, TClose = never>(): Signal<T, TClose>
Create a new Signal
Signal should be used when you need to send messages to a stream from outside of an operation. The most common case of this is to connect a plain, synchronous JavaScript callback to an operation.
Examples
Example 1
function* logClicks(button) {
let clicks = createSignal<MouseEvent>();
try {
button.addEventListener("click", clicks.send);
for (let click of yield* each(clicks)) {
console.log("click", click);
}
} finally {
button.removeEventListener("click", clicks.send);
}
}
Do not use a signal to send messages from within an operation as it could result in out-of-scope code being executed. In those cases, you should use a Channel.
Type Parameters
T
TClose = never
Return Type
Signal<T, TClose>