Newer version available
You’re viewing the API reference for version 3.0.3, but the latest version is 3.1.0. The latest version include may important updates and fixes.
View Latest Versionfunction createSignal
thefrontside/effectionfunction 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>