cujojs/when
A solid, fast Promises/A+ and when() implementation, plus other async goodies. observed · 2026-08-28
Health v2 · maintenance only
23/100
- Activity 0
- Release rhythm 8
- Longevity 100
Flags: no_license
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 5635
- days_rel: n/a
- days_push: 1606
- n_releases_24m: 0
Adoption not part of the score
3422 stars · 383 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
When.js is a Promises/A+ compliant promise library for JavaScript with an ES6 Promise shim and rich async utilities like parallel/sequential task execution, promise mapping/reduction, and Node callback conversion. It is a standalone component of the cujoJS architectural toolkit.
Use cases
- manage nested callback flows with promises
- run async tasks in parallel or sequentially
- convert node-style callback APIs to promises
- resolve arrays and hashes of promises
- shim ES6 Promise in older environments
When to choose
- you need a battle-tested Promises/A+ implementation for legacy JS environments
- you want rich async combinators like map, reduce, and parallel task execution
- you need an ES6 Promise shim with debugging-friendly promises
When to avoid
- you are targeting modern JavaScript with native Promises and async/await
- you want an actively developed library with frequent updates
Facets
library · maturity maintenance
concurrency developer-tools developer-tools web-development browser cross-platform promises async promises-aplus es6-promise-shim deferreds javascript nodejs
2 sources
- readme: https://github.com/cujojs/when · fetched 2026-08-28 · 0623af1bf376
- registry_npm: https://registry.npmjs.org/when · fetched 2026-08-29 · 2b61df4fd918
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| cujojs/when | main | 23 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem