Skip to content
This repository has been archived by the owner on Mar 15, 2018. It is now read-only.

songkick/promise-timeout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

promise-timeout Build Status Code Climate Test Coverage

Reject a promise if it does not resolve before specified delay

var timeoutPromise = require('@songkick/promise-timeout');

var hundredMilTimeout = timeoutPromise({delay: 100 });
var boundToReject = hundredMilTimeout(resolvesAfter200);

boundToReject().then(function(result){
  // never called here,
  // but if `delay` was >= 300,
  // result would be === 'yay!'
}).catch(function(err){
  // err instanceof timeoutPromise.TimeoutError === true
  // err === {
  //   message: 'Promise resolution timed out',
  //   settings: {
  //    delay: 100
  //   },
  //   fn: resolvesAfter200
  // }
});

// or if the initial promise rejects before the delay:
//.catch(function(err){
  // err is the original error
//});

function resolvesAfter200() {
  return new Promise(function(resolve, reject){
    setTimeout(resolve, 200)
  });
}

Options

delay: the delay before the promise gets rejected

See also

promise-timeout composes really well with the following promise helper:

About

This software is not maintained. Reject a promise if it does not resolve before specified delay

Resources

License

Stars

Watchers

Forks

Packages

No packages published