Skip to content

jacobheun/timeout-abort-controller

Repository files navigation

timeout-abort-controller

Build Status dependencies Status JavaScript Style Guide

An AbortController that aborts after a specified timeout.

timeout-abort-controller uses retimer internally to help reduce the impact of having numerous timers running.

Install

npm install timeout-abort-controller

Usage

const { AbortController } = require('native-abort-controller')
const { TimeoutController } = require('timeout-abort-controller')
const anySignal = require('any-signal')

const userController = new AbortController()
// Aborts after 1 second
const timeoutController = new TimeoutController(1000)

const combinedSignal = anySignal([userController.signal, timeoutController.signal])
combinedSignal.addEventListener('abort', () => console.log('Abort!'))

// The user or the timeout can now abort the action
await performSomeAction({ signal: combinedSignal })
timeoutController.clear()

API

new TimeoutController(ms)

Creates an AbortController compliant TimeoutController.

Parameters

Name Type Description
ms number The time in milliseconds for when the TimeoutController should abort

timeoutController.clear()

Clears the internal timer.

timeoutController.abort()

Aborts the controller and clears the internal timeout.

timeoutController.reset()

Clears the timer and sets the internal timeout to occur after the ms timeout it was created with.

Related

LICENSE

MIT © Jacob Heun

About

An AbortController that aborts after a specified timeout.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published