NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2166 most downloaded on npm
Throttle the parallelism of an asynchronous (promise returning) function / functions
Last release 4 years ago
no release in 18 months
Ships fairly regularly
a new release about every 1.3 years
Some releases are documented
notes for 5 of 14 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
14 releases · first in 2012
Task queue could fail after an edge case involving many batches of jobs
Task queue could fail after an edge case involving many batches of jobs (#62)
This issue was introduced in 6.0.1
6.0.0 was significantly slower than 5.0.0. This restores the balance. Each of these benchmarks is run 10x times, in order to make the numbers reasonab
Optimise the queue again (#57)
6.0.0 was significantly slower than 5.0.0. This restores the balance. Each of these benchmarks is run 10x times, in order to make the numbers reasonably stable for comparison.
5.0.0 benchmark:
limit=10
10 promises: 1.118ms
100 promises: 31.778ms
1000 promises: 22.806ms
10000 promises: 59.501ms
100000 promises: 941.285ms
1000000 promises: 11.569s
limit=1000000
10 promises: 0.177ms
100 promises: 0.425ms
1000 promises: 4.904ms
10000 promises: 84.251ms
100000 promises: 1.081s
1000000 promises: 13.656s
6.0.0 benchmark:
limit=10
10 promises: 1.122ms
100 promises: 18.4ms
1000 promises: 34.742ms
10000 promises: 86.504ms
100000 promises: 1.475s
1000000 promises: 20.298s
limit=1000000
10 promises: 0.264ms
100 promises: 0.424ms
1000 promises: 5.6ms
10000 promises: 93.45ms
100000 promises: 1.466s
1000000 promises: 20.109s
6.0.1 benchmark:
limit=10
10 promises: 1.217ms
100 promises: 4.433ms
1000 promises: 49.928ms
10000 promises: 67.578ms
100000 promises: 958.481ms
1000000 promises: 10.542s
limit=1000000
10 promises: 0.118ms
100 promises: 0.424ms
1000 promises: 4.993ms
10000 promises: 84.649ms
100000 promises: 1.163s
1000000 promises: 13.297s
One column per quarter.
Throat no longer supports overriding the Promise implementation
Throat no longer supports overriding the Promise implementation (#56)
If you need to support older browsers, you should use a global polyfill. If you want throat to return a different type of Promise, you should manually wrap the result using CustomPromise.resolve(...)
Older browsers are no longer tested, although most will continue to work if you include a polyfill for Promise (#56)
We are still testing on:
Node.js version 8 is no longer tested, although it will probably continue to work (#56)
throat. Previously throat calls effectively cut the stack trace off at that call. (#56)Breaking Change: drop support for node 4 and 5
perf: optimise internal queue
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →