Aller au contenu principal

@w5s/task-timeout

W5S Task timeout modules (@w5s/task-timeout)

NPM Version License

Installation

npm install @w5s/task-timeout

Usage

Example

import { Task } from '@w5s/task';
import { timeout } from '@w5s/task-timeout';
import { TimeDuration } from '@w5s/time';

function sayHelloWorld(delay: TimeDuration) {
return Task.from(({ resolve, canceler }) => {
const timerId = setTimeout(() => {
console.log('Hello World!');
resolve(undefined);
}, delay);
canceler.current = () => clearTimeout(timerId);
});
}

export function main() {
// Example of a task that will
const someTask = sayHelloWorld(TimeDuration.seconds(2)); // log "Hello world" after 2 seconds
const withTimeout = timeout(someTask, TimeDuration.seconds(1)); // set timeout to 1 second

return withTimeout;
}

void Task.run(main());

License

MIT © Julien Polo julien.polo@gmail.com

Index

Functions