3.0.0 • Published 2 years ago

timeout-abort-controller v3.0.0

Weekly downloads
9,065
License
MIT
Repository
github
Last release
2 years ago

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

NameTypeDescription
msnumberThe 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