allora

1.0.0 • Public • Published

allora

Build Status

NPM version NPM downloads MIT License

Promisify everything in less tha ~50 lines It can be used to use promises on any javascript object.

Examples

Basic

Or simply:

const myWindow = allora(window)
myWindow.onload.then(() => alert('I am ready!'))

Example in Node:

const allora = require('allora')
const myGlobal = allora(global)
Promise.race([
  myGlobal.setImmediate(),
  myGlobal.setTimeout(200),
  myGlobal.setTimeout(400)
]).then(() => done())
 

Example in browser:

const myWindow = allora(window)
const p1 = myWindow.setTimeout(500)
const p2 = myWindow.setTimeout(5000)
const p3 = myWindow.requestAnimationFrame()
 
p1.then(() => alert('I am ready'))
p2.then(() => alert('I am late'))
p3.then(() => alert('frame'))
 
Promise.all([p1, p2, p3]).then(() => alert('We are all done!'))

Clear timers

Thanks to this pull request it's now also possible to clear the timers

const myWindow = allora(window)
const timer = myWindow.setTimeout(3000)
timer.then(_ => console.log('time over'))
// the valueOf call should be not needed here
// but if you are on node, you will need it https://github.com/nodejs/node/issues/7792
clearTimeout(timer.valueOf())

"allora" meaning

"allora" is the Italian 🇮🇹 word for then

Package Sidebar

Install

npm i allora

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • gianlucaguarini