Useful async tools.
createLock- a simple counting sempahore
createDeferred- simple deferred promise
q- a concurrent work queue
each,map- optionally concurrent iteration functions
gowait- convert a promise or promise returning function to
[error,result]tuples
- convert a promise or promise returning function to
delay- delay ms, optionally resolve an argument
noop,identity,once- Other useful language functions
Get it on npm: npm install aceink
See the generated documentation here
import { q } from 'aceink' const { ready, add, empty } = q(10) function fetchQux(bar) { return fetch(`https://example.com/${bar}`) } for (const foo of Array(100).keys()) { await ready() add(fetchQux, foo) } return empty()
import { gowait, delay } from 'aceink' const [err, value] = await gowait(delay(100, 42)) console.log(value) //42