This package has been deprecated

Author message:

ABANDONED: use p-timeout instead

@jokeyrhyme/deadline

1.1.1 • Public • Published

deadline.js

wait for a callback or Promise, but give up if it has been too long

npm module travis-ci

API

var deadline = require('@jokeyrhyme/deadline');

.fn(fn, timeout)

  • @param {Function} fn to execute
  • @param {Number} timeout milliseconds to wait
  • @returns {Function} wrapped fn, called automatically per-timeout

For example:

window.addEventListener('online', deadline.fn(function () {
  // either "online" event, or 500ms passed since declaring this handler
}, 500), false);

.promise(promise, timeout)

  • @param {Promise} promise to wait for
  • @param {Number} timeout milliseconds to wait
  • @returns {Promise} new Promise rejects when deadline exceeded

For example:

deadline.promise(makeFastPromise(), 500).then(function () {
  // onResolve...
  // executed before 500ms, deadline not exceeded
});

deadline.promise(makeSlowPromise(), 500).then(null, function () {
  // onReject...
  // executed around 500ms, deadline exceeded
});

.callback(fn, timeout, callback)

  • @param {FunctionTakingErrorFirstCallback} fn to execute
  • @param {Number} timeout milliseconds to wait
  • @param {ErrorFirstCallback} called with timeout Error or results from fn

For example:

deadline.callback(function (done) {
  fastAsyncFn(1, 2, done);
}, 500, function (err, data) {
  // executed before 500ms, deadline not exceeded
  // `err` and `data` are original values from `fastAsyncFn()`
});

deadline.callback(function (done) {
  slowAsyncFn(1, 2, done);
}, 500, function (err) {
  // executed around 500ms, deadline exceeded
  // `err` is the deadline Error
});

@callback ErrorFirstCallback

  • @param {?Error} error or null (if no error)
  • @param {...} optional, zero or more return data (if no error)

We document this here for completeness.

@callback FunctionTakingErrorFirstCallback

  • @param {ErrorFirstCallback} called when done

We document this here for completeness.

Package Sidebar

Install

npm i @jokeyrhyme/deadline

Weekly Downloads

1

Version

1.1.1

License

BSD-3-Clause

Last publish

Collaborators

  • jokeyrhyme