Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F87154879
readme.md
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Oct 10, 23:21
Size
2 KB
Mime Type
text/html
Expires
Sat, Oct 12, 23:21 (2 d)
Engine
blob
Format
Raw Data
Handle
21543250
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
readme.md
View Options
#
p
-
limit
>
Run
multiple
promise
-
returning
&
async
functions
with
limited
concurrency
##
Install
```
$
npm
install
p
-
limit
```
##
Usage
```
js
const
pLimit
=
require
(
'
p
-
limit
'
);
const
limit
=
pLimit
(
1
);
const
input
=
[
limit
(()
=>
fetchSomething
(
'
foo
'
)),
limit
(()
=>
fetchSomething
(
'
bar
'
)),
limit
(()
=>
doSomething
())
];
(
async
()
=>
{
// Only one promise is run at once
const
result
=
await
Promise
.
all
(
input
);
console
.
log
(
result
);
})();
```
##
API
###
pLimit
(
concurrency
)
Returns
a
`limit`
function
.
####
concurrency
Type
:
`number`
\
Minimum
:
`1`
\
Default
:
`Infinity`
Concurrency
limit
.
###
limit
(
fn
,
...
args
)
Returns
the
promise
returned
by
calling
`fn(...args)`
.
####
fn
Type
:
`Function`
Promise
-
returning
/
async
function
.
####
args
Any
arguments
to
pass
through
to
`fn`
.
Support
for
passing
arguments
on
to
the
`fn`
is
provided
in
order
to
be
able
to
avoid
creating
unnecessary
closures
.
You
probably
don
'
t
need
this
optimization
unless
you
'
re
pushing
a
*
lot
*
of
functions
.
###
limit
.
activeCount
The
number
of
promises
that
are
currently
running
.
###
limit
.
pendingCount
The
number
of
promises
that
are
waiting
to
run
(
i
.
e
.
their
internal
`fn`
was
not
called
yet
).
###
limit
.
clearQueue
()
Discard
pending
promises
that
are
waiting
to
run
.
This
might
be
useful
if
you
want
to
teardown
the
queue
at
the
end
of
your
program
'
s
lifecycle
or
discard
any
function
calls
referencing
an
intermediary
state
of
your
app
.
Note
:
This
does
not
cancel
promises
that
are
already
running
.
##
FAQ
###
How
is
this
different
from
the
[
`p-queue`
](
https
:
//github.com/sindresorhus/p-queue) package?
This
package
is
only
about
limiting
the
number
of
concurrent
executions
,
while
`p-queue`
is
a
fully
featured
queue
implementation
with
lots
of
different
options
,
introspection
,
and
ability
to
pause
the
queue
.
##
Related
-
[
p
-
queue
](
https
:
//github.com/sindresorhus/p-queue) - Promise queue with concurrency control
-
[
p
-
throttle
](
https
:
//github.com/sindresorhus/p-throttle) - Throttle promise-returning & async functions
-
[
p
-
debounce
](
https
:
//github.com/sindresorhus/p-debounce) - Debounce promise-returning & async functions
-
[
p
-
all
](
https
:
//github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency
-
[
More
…
](
https
:
//github.com/sindresorhus/promise-fun)
---
<
div
align
=
"center"
>
<
b
>
<
a
href
=
"https://tidelift.com/subscription/pkg/npm-p-limit?utm_source=npm-p-limit&utm_medium=referral&utm_campaign=readme"
>
Get
professional
support
for
this
package
with
a
Tidelift
subscription
</
a
>
</
b
>
<
br
>
<
sub
>
Tidelift
helps
make
open
source
sustainable
for
maintainers
while
giving
companies
<
br
>
assurances
about
security
,
maintenance
,
and
licensing
for
their
dependencies
.
</
sub
>
</
div
>
Event Timeline
Log In to Comment