@arwed/signal
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

Signal

Build Status

A small library to manage asynchronous tasks using coroutines.

Usage

npm i --save @arwed/signal

Example

A signal lets you wait at a certain position of your code until the notify method is called.

import Signal from "@arwed/signal"

(async () => {
	const signal = new Signal

	//call signal in 1s
	setTimeout(() => signal.notify(), 1000)

	//wait until notify is called
	await signal.wait()
})()

This can be used to send a cancel signal to a running loop.

E.g. Let a loop run for 1s.

import Signal from "@arwed/signal"

(async () => {
	const signal = new Signal

	//notify the signal after 1s
	setTimeout(() => signal.notify(), 1000)

	await signal.repeat(async (cancel: Signal) => {
		//repeat this function until the signal is notified
	})
})()

You can also make this dependent on a shutdown event.

/@arwed/signal/

    Package Sidebar

    Install

    npm i @arwed/signal

    Weekly Downloads

    0

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    151 kB

    Total Files

    59

    Last publish

    Collaborators

    • arwed