timeout.js

1.4.1 • Public • Published

timeout.js

GitHub stars GitHub forks npm GitHub issues Maintainer

Readme

Code Climate Test Coverage Issue Count Build Status David

Simple promise-based timeout

Installation

npm Minimum node

NPM

npm install --save timeout.js

Usage

const timeout = require('timeout.js');
 
// call then callback after 200ms
timeout(200).then(() => console.log('Okey'));
 
// call catch after .break() called
const exm = timeout(1000);
 
exm.then(() => console.log('Called!'))
  .catch(() => console.log('Breaked!'));
 
// stop timeout and reject promise
exm.break();
 
 
// resolve data after time out
timeout(500, "Data to be resolved")
  .then(data => console.log(data));

Async/Await

import timeout from 'timeout.js'
 
function withData() {
  return timeout(300, 'data')
}
 
async function main() {
  await timeout(200)
  console.log('After 200 ms')
 
  const data = await withData()
  console.log(`After 0.5s with ${data}`)
}
 
main()

Timeout chaining

const timeout = require('timeout.js');
 
timeout(300, 'data')
.then(data => timeout(100, data))
.then(timeout.make(100)) // simple
.then(data => {
  assert(data === 'data');
})
.catch(error => console.error(error));
 
 
// create timeout with predefined time
const out = timeout.make(200);
 
out().then(() => element.hide());
 
 
// with data
const waitFor = timeout.make(500);
 
waitFor({ user: 123 })
.then(user => request('/user', user))
.then(response => console.log(response.user))
.catch(error => debug(error));
 
// make timeout with predefined data
const waitData = timeout.make(100, 'data');
 
waitData()
.then(data => data === 'data');
 
 
// override
 
waitData('foo')
.then(data => data === 'foo');

License

license

Copyright © 2016 Sergey Sova <i.am@lestad.net>
This work is free. You can redistribute it and/or modify it under the
terms of the Do What The Fuck You Want To Public License, Version 2,
as published by Sam Hocevar. See the COPYING file or http://www.wtfpl.net/
for more details.

Readme

Keywords

Package Sidebar

Install

npm i timeout.js

Weekly Downloads

0

Version

1.4.1

License

WTFPL

Last publish

Collaborators

  • lestad