d975cc371d
modified: node_modules/.package-lock.json deleted: node_modules/array-union/index.d.ts deleted: node_modules/array-union/index.js deleted: node_modules/array-union/license deleted: node_modules/array-union/package.json deleted: node_modules/array-union/readme.md modified: node_modules/cliui/CHANGELOG.md modified: node_modules/cliui/package.json modified: node_modules/fast-glob/out/index.d.ts modified: node_modules/fast-glob/out/index.js modified: node_modules/fast-glob/out/managers/patterns.d.ts modified: node_modules/fast-glob/out/managers/patterns.js modified: node_modules/fast-glob/out/managers/tasks.d.ts modified: node_modules/fast-glob/out/managers/tasks.js modified: node_modules/fast-glob/out/providers/async.d.ts modified: node_modules/fast-glob/out/providers/async.js modified: node_modules/fast-glob/out/providers/filters/deep.d.ts modified: node_modules/fast-glob/out/providers/filters/deep.js modified: node_modules/fast-glob/out/providers/filters/entry.d.ts modified: node_modules/fast-glob/out/providers/filters/entry.js modified: node_modules/fast-glob/out/providers/filters/error.d.ts modified: node_modules/fast-glob/out/providers/filters/error.js modified: node_modules/fast-glob/out/providers/matchers/matcher.d.ts modified: node_modules/fast-glob/out/providers/matchers/matcher.js modified: node_modules/fast-glob/out/providers/matchers/partial.d.ts modified: node_modules/fast-glob/out/providers/matchers/partial.js modified: node_modules/fast-glob/out/providers/provider.d.ts modified: node_modules/fast-glob/out/providers/provider.js modified: node_modules/fast-glob/out/providers/stream.d.ts modified: node_modules/fast-glob/out/providers/stream.js modified: node_modules/fast-glob/out/providers/sync.d.ts modified: node_modules/fast-glob/out/providers/sync.js modified: node_modules/fast-glob/out/providers/transformers/entry.d.ts modified: node_modules/fast-glob/out/providers/transformers/entry.js modified: node_modules/fast-glob/out/readers/reader.d.ts modified: node_modules/fast-glob/out/readers/reader.js modified: node_modules/fast-glob/out/readers/stream.d.ts modified: node_modules/fast-glob/out/readers/stream.js modified: node_modules/fast-glob/out/readers/sync.d.ts modified: node_modules/fast-glob/out/readers/sync.js modified: node_modules/fast-glob/out/settings.d.ts modified: node_modules/fast-glob/out/settings.js modified: node_modules/fast-glob/out/types/index.d.ts modified: node_modules/fast-glob/out/types/index.js modified: node_modules/fast-glob/out/utils/array.d.ts modified: node_modules/fast-glob/out/utils/array.js modified: node_modules/fast-glob/out/utils/errno.d.ts modified: node_modules/fast-glob/out/utils/errno.js modified: node_modules/fast-glob/out/utils/fs.d.ts modified: node_modules/fast-glob/out/utils/fs.js modified: node_modules/fast-glob/out/utils/index.d.ts modified: node_modules/fast-glob/out/utils/index.js modified: node_modules/fast-glob/out/utils/path.d.ts modified: node_modules/fast-glob/out/utils/path.js modified: node_modules/fast-glob/out/utils/pattern.d.ts modified: node_modules/fast-glob/out/utils/pattern.js modified: node_modules/fast-glob/out/utils/stream.d.ts modified: node_modules/fast-glob/out/utils/stream.js modified: node_modules/fast-glob/out/utils/string.d.ts modified: node_modules/fast-glob/out/utils/string.js modified: node_modules/fast-glob/package.json modified: node_modules/fastq/README.md modified: node_modules/fastq/index.d.ts modified: node_modules/fastq/package.json modified: node_modules/fastq/queue.js modified: node_modules/fastq/test/promise.js deleted: node_modules/fs-extra/CHANGELOG.md modified: node_modules/fs-extra/README.md deleted: node_modules/fs-extra/lib/copy-sync/copy-sync.js deleted: node_modules/fs-extra/lib/copy-sync/index.js modified: node_modules/fs-extra/lib/copy/copy.js modified: node_modules/fs-extra/lib/copy/index.js modified: node_modules/fs-extra/lib/ensure/index.js modified: node_modules/fs-extra/lib/fs/index.js modified: node_modules/fs-extra/lib/index.js modified: node_modules/fs-extra/lib/json/output-json-sync.js modified: node_modules/fs-extra/lib/json/output-json.js deleted: node_modules/fs-extra/lib/move-sync/index.js deleted: node_modules/fs-extra/lib/move-sync/move-sync.js modified: node_modules/fs-extra/lib/move/index.js modified: node_modules/fs-extra/lib/move/move.js deleted: node_modules/fs-extra/lib/output/index.js modified: node_modules/fs-extra/lib/remove/index.js deleted: node_modules/fs-extra/lib/remove/rimraf.js modified: node_modules/fs-extra/package.json deleted: node_modules/globby/gitignore.js modified: node_modules/globby/index.d.ts modified: node_modules/globby/index.js modified: node_modules/globby/package.json modified: node_modules/globby/readme.md deleted: node_modules/globby/stream-utils.js deleted: node_modules/globby/to-path.js modified: node_modules/graceful-fs/LICENSE modified: node_modules/graceful-fs/graceful-fs.js modified: node_modules/graceful-fs/package.json modified: node_modules/graceful-fs/polyfills.js modified: node_modules/ignore/README.md modified: node_modules/ignore/index.js modified: node_modules/ignore/legacy.js modified: node_modules/ignore/package.json modified: node_modules/lilconfig/dist/index.js modified: node_modules/lilconfig/package.json modified: node_modules/lilconfig/readme.md deleted: node_modules/micromatch/CHANGELOG.md modified: node_modules/micromatch/README.md modified: node_modules/micromatch/index.js modified: node_modules/micromatch/package.json modified: node_modules/nanoid/bin/nanoid.cjs modified: node_modules/nanoid/index.browser.cjs modified: node_modules/nanoid/index.browser.js deleted: node_modules/nanoid/index.dev.js deleted: node_modules/nanoid/index.prod.js modified: node_modules/nanoid/nanoid.js modified: node_modules/nanoid/package.json modified: node_modules/postcss-cli/index.js modified: node_modules/postcss-cli/package.json modified: node_modules/postcss-load-config/README.md modified: node_modules/postcss-load-config/package.json modified: node_modules/postcss-load-config/src/index.d.ts modified: node_modules/postcss-load-config/src/index.js modified: node_modules/postcss-load-config/src/req.js modified: node_modules/postcss/README.md modified: node_modules/postcss/lib/at-rule.d.ts modified: node_modules/postcss/lib/comment.d.ts modified: node_modules/postcss/lib/container.d.ts modified: node_modules/postcss/lib/container.js modified: node_modules/postcss/lib/css-syntax-error.d.ts modified: node_modules/postcss/lib/declaration.d.ts modified: node_modules/postcss/lib/document.d.ts modified: node_modules/postcss/lib/fromJSON.d.ts modified: node_modules/postcss/lib/input.d.ts modified: node_modules/postcss/lib/input.js modified: node_modules/postcss/lib/lazy-result.d.ts modified: node_modules/postcss/lib/list.d.ts modified: node_modules/postcss/lib/list.js modified: node_modules/postcss/lib/map-generator.js modified: node_modules/postcss/lib/no-work-result.d.ts modified: node_modules/postcss/lib/node.d.ts modified: node_modules/postcss/lib/parse.d.ts modified: node_modules/postcss/lib/parser.js modified: node_modules/postcss/lib/postcss.d.ts modified: node_modules/postcss/lib/postcss.js modified: node_modules/postcss/lib/previous-map.d.ts modified: node_modules/postcss/lib/processor.d.ts modified: node_modules/postcss/lib/processor.js modified: node_modules/postcss/lib/result.d.ts modified: node_modules/postcss/lib/root.d.ts modified: node_modules/postcss/lib/root.js modified: node_modules/postcss/lib/rule.d.ts modified: node_modules/postcss/lib/stringifier.d.ts modified: node_modules/postcss/lib/stringify.d.ts modified: node_modules/postcss/lib/warning.d.ts modified: node_modules/postcss/package.json modified: node_modules/slash/index.d.ts modified: node_modules/slash/index.js modified: node_modules/slash/package.json modified: node_modules/slash/readme.md modified: node_modules/yaml/LICENSE modified: node_modules/yaml/README.md deleted: node_modules/yaml/browser/dist/PlainValue-b8036b75.js deleted: node_modules/yaml/browser/dist/Schema-e94716c8.js modified: node_modules/yaml/browser/dist/index.js deleted: node_modules/yaml/browser/dist/legacy-exports.js deleted: node_modules/yaml/browser/dist/package.json deleted: node_modules/yaml/browser/dist/parse-cst.js deleted: node_modules/yaml/browser/dist/resolveSeq-492ab440.js deleted: node_modules/yaml/browser/dist/types.js modified: node_modules/yaml/browser/dist/util.js deleted: node_modules/yaml/browser/dist/warnings-df54cb69.js modified: node_modules/yaml/browser/index.js deleted: node_modules/yaml/browser/map.js deleted: node_modules/yaml/browser/pair.js deleted: node_modules/yaml/browser/parse-cst.js deleted: node_modules/yaml/browser/scalar.js deleted: node_modules/yaml/browser/schema.js deleted: node_modules/yaml/browser/seq.js deleted: node_modules/yaml/browser/types.js deleted: node_modules/yaml/browser/types/binary.js deleted: node_modules/yaml/browser/types/omap.js deleted: node_modules/yaml/browser/types/pairs.js deleted: node_modules/yaml/browser/types/set.js deleted: node_modules/yaml/browser/types/timestamp.js deleted: node_modules/yaml/browser/util.js deleted: node_modules/yaml/dist/Document-9b4560a1.js deleted: node_modules/yaml/dist/PlainValue-ec8e588e.js deleted: node_modules/yaml/dist/Schema-88e323a7.js modified: node_modules/yaml/dist/index.js deleted: node_modules/yaml/dist/legacy-exports.js deleted: node_modules/yaml/dist/parse-cst.js deleted: node_modules/yaml/dist/resolveSeq-d03cb037.js modified: node_modules/yaml/dist/test-events.js deleted: node_modules/yaml/dist/types.js modified: node_modules/yaml/dist/util.js deleted: node_modules/yaml/dist/warnings-1000a372.js deleted: node_modules/yaml/index.d.ts deleted: node_modules/yaml/index.js deleted: node_modules/yaml/map.js modified: node_modules/yaml/package.json deleted: node_modules/yaml/pair.js deleted: node_modules/yaml/parse-cst.d.ts deleted: node_modules/yaml/parse-cst.js deleted: node_modules/yaml/scalar.js deleted: node_modules/yaml/schema.js deleted: node_modules/yaml/seq.js deleted: node_modules/yaml/types.d.ts deleted: node_modules/yaml/types.js deleted: node_modules/yaml/types.mjs deleted: node_modules/yaml/types/binary.js deleted: node_modules/yaml/types/omap.js deleted: node_modules/yaml/types/pairs.js deleted: node_modules/yaml/types/set.js deleted: node_modules/yaml/types/timestamp.js modified: node_modules/yaml/util.d.ts modified: node_modules/yaml/util.js deleted: node_modules/yaml/util.mjs modified: node_modules/yargs-parser/CHANGELOG.md modified: node_modules/yargs-parser/build/index.cjs modified: node_modules/yargs-parser/build/lib/index.js modified: node_modules/yargs-parser/build/lib/yargs-parser.js modified: node_modules/yargs-parser/package.json modified: node_modules/yargs/build/index.cjs modified: node_modules/yargs/build/lib/command.js modified: node_modules/yargs/build/lib/completion-templates.js modified: node_modules/yargs/build/lib/completion.js modified: node_modules/yargs/build/lib/usage.js modified: node_modules/yargs/build/lib/validation.js modified: node_modules/yargs/build/lib/yargs-factory.js modified: node_modules/yargs/build/lib/yerror.js modified: node_modules/yargs/lib/platform-shims/esm.mjs modified: node_modules/yargs/locales/en.json modified: node_modules/yargs/locales/fi.json modified: node_modules/yargs/locales/ru.json modified: node_modules/yargs/package.json modified: package-lock.json modified: package.json modified: public/about/index.html modified: public/access/index.html modified: public/blog/index.html modified: public/categories/index.html modified: public/index.html modified: public/manifesto/index.html modified: public/posts/apple-breaks-privacy/index.html modified: public/posts/index.html modified: public/posts/main_street_against_big_tech/index.html modified: public/posts/what_is_done_with_personal_data/index.html modified: public/projects/index.html modified: public/tags/index.html .hugo_build.lock go.mod go.sum node_modules/.bin/autoprefixer node_modules/.bin/browserslist node_modules/.bin/update-browserslist-db node_modules/autoprefixer/ node_modules/browserslist/ node_modules/caniuse-lite/ node_modules/cliui/build/index.d.cts node_modules/electron-to-chromium/ node_modules/fast-glob/out/readers/async.d.ts node_modules/fast-glob/out/readers/async.js node_modules/fraction.js/ node_modules/fs-extra/lib/copy/copy-sync.js node_modules/fs-extra/lib/esm.mjs node_modules/fs-extra/lib/move/move-sync.js node_modules/fs-extra/lib/output-file/ node_modules/globby/ignore.js node_modules/globby/node_modules/ node_modules/globby/utilities.js node_modules/lilconfig/LICENSE node_modules/node-releases/ node_modules/normalize-range/ node_modules/postcss-value-parser/ node_modules/postcss/lib/postcss.d.mts node_modules/update-browserslist-db/ node_modules/yaml/browser/dist/compose/ node_modules/yaml/browser/dist/doc/ node_modules/yaml/browser/dist/errors.js node_modules/yaml/browser/dist/log.js node_modules/yaml/browser/dist/node_modules/ node_modules/yaml/browser/dist/nodes/ node_modules/yaml/browser/dist/parse/ node_modules/yaml/browser/dist/public-api.js node_modules/yaml/browser/dist/schema/ node_modules/yaml/browser/dist/stringify/ node_modules/yaml/browser/dist/visit.js node_modules/yaml/browser/package.json node_modules/yaml/dist/compose/ node_modules/yaml/dist/doc/ node_modules/yaml/dist/errors.d.ts node_modules/yaml/dist/errors.js node_modules/yaml/dist/index.d.ts node_modules/yaml/dist/log.d.ts node_modules/yaml/dist/log.js node_modules/yaml/dist/nodes/ node_modules/yaml/dist/options.d.ts node_modules/yaml/dist/parse/ node_modules/yaml/dist/public-api.d.ts node_modules/yaml/dist/public-api.js node_modules/yaml/dist/schema/ node_modules/yaml/dist/stringify/ node_modules/yaml/dist/test-events.d.ts node_modules/yaml/dist/util.d.ts node_modules/yaml/dist/visit.d.ts node_modules/yaml/dist/visit.js node_modules/yargs/browser.d.ts node_modules/yargs/locales/cs.json node_modules/yargs/yargs.mjs public/css/main.min.c5514d3530979d291f3497facc20da1cec870028dbc2a3630b64bab8721bbe49.css resources/_gen/assets/sass/sass/style.sass_4d6f00452a35742ddbb489cb3703195e.content resources/_gen/assets/sass/sass/style.sass_4d6f00452a35742ddbb489cb3703195e.json resources/_gen/assets/sass/sass/style.sass_c87a2fc9dae9a546a3e3f1548c147175.content resources/_gen/assets/sass/sass/style.sass_c87a2fc9dae9a546a3e3f1548c147175.json
310 lines
8.1 KiB
Markdown
310 lines
8.1 KiB
Markdown
# fastq
|
|
|
|
![ci][ci-url]
|
|
[![npm version][npm-badge]][npm-url]
|
|
[![Dependency Status][david-badge]][david-url]
|
|
|
|
Fast, in memory work queue.
|
|
|
|
Benchmarks (1 million tasks):
|
|
|
|
* setImmediate: 812ms
|
|
* fastq: 854ms
|
|
* async.queue: 1298ms
|
|
* neoAsync.queue: 1249ms
|
|
|
|
Obtained on node 12.16.1, on a dedicated server.
|
|
|
|
If you need zero-overhead series function call, check out
|
|
[fastseries](http://npm.im/fastseries). For zero-overhead parallel
|
|
function call, check out [fastparallel](http://npm.im/fastparallel).
|
|
|
|
[![js-standard-style](https://raw.githubusercontent.com/feross/standard/master/badge.png)](https://github.com/feross/standard)
|
|
|
|
* <a href="#install">Installation</a>
|
|
* <a href="#usage">Usage</a>
|
|
* <a href="#api">API</a>
|
|
* <a href="#license">Licence & copyright</a>
|
|
|
|
## Install
|
|
|
|
`npm i fastq --save`
|
|
|
|
## Usage (callback API)
|
|
|
|
```js
|
|
'use strict'
|
|
|
|
const queue = require('fastq')(worker, 1)
|
|
|
|
queue.push(42, function (err, result) {
|
|
if (err) { throw err }
|
|
console.log('the result is', result)
|
|
})
|
|
|
|
function worker (arg, cb) {
|
|
cb(null, arg * 2)
|
|
}
|
|
```
|
|
|
|
## Usage (promise API)
|
|
|
|
```js
|
|
const queue = require('fastq').promise(worker, 1)
|
|
|
|
async function worker (arg) {
|
|
return arg * 2
|
|
}
|
|
|
|
async function run () {
|
|
const result = await queue.push(42)
|
|
console.log('the result is', result)
|
|
}
|
|
|
|
run()
|
|
```
|
|
|
|
### Setting "this"
|
|
|
|
```js
|
|
'use strict'
|
|
|
|
const that = { hello: 'world' }
|
|
const queue = require('fastq')(that, worker, 1)
|
|
|
|
queue.push(42, function (err, result) {
|
|
if (err) { throw err }
|
|
console.log(this)
|
|
console.log('the result is', result)
|
|
})
|
|
|
|
function worker (arg, cb) {
|
|
console.log(this)
|
|
cb(null, arg * 2)
|
|
}
|
|
```
|
|
|
|
### Using with TypeScript (callback API)
|
|
|
|
```ts
|
|
'use strict'
|
|
|
|
import * as fastq from "fastq";
|
|
import type { queue, done } from "fastq";
|
|
|
|
type Task = {
|
|
id: number
|
|
}
|
|
|
|
const q: queue<Task> = fastq(worker, 1)
|
|
|
|
q.push({ id: 42})
|
|
|
|
function worker (arg: Task, cb: done) {
|
|
console.log(arg.id)
|
|
cb(null)
|
|
}
|
|
```
|
|
|
|
### Using with TypeScript (promise API)
|
|
|
|
```ts
|
|
'use strict'
|
|
|
|
import * as fastq from "fastq";
|
|
import type { queueAsPromised } from "fastq";
|
|
|
|
type Task = {
|
|
id: number
|
|
}
|
|
|
|
const q: queueAsPromised<Task> = fastq.promise(asyncWorker, 1)
|
|
|
|
q.push({ id: 42}).catch((err) => console.error(err))
|
|
|
|
async function asyncWorker (arg: Task): Promise<void> {
|
|
// No need for a try-catch block, fastq handles errors automatically
|
|
console.log(arg.id)
|
|
}
|
|
```
|
|
|
|
## API
|
|
|
|
* <a href="#fastqueue"><code>fastqueue()</code></a>
|
|
* <a href="#push"><code>queue#<b>push()</b></code></a>
|
|
* <a href="#unshift"><code>queue#<b>unshift()</b></code></a>
|
|
* <a href="#pause"><code>queue#<b>pause()</b></code></a>
|
|
* <a href="#resume"><code>queue#<b>resume()</b></code></a>
|
|
* <a href="#idle"><code>queue#<b>idle()</b></code></a>
|
|
* <a href="#length"><code>queue#<b>length()</b></code></a>
|
|
* <a href="#getQueue"><code>queue#<b>getQueue()</b></code></a>
|
|
* <a href="#kill"><code>queue#<b>kill()</b></code></a>
|
|
* <a href="#killAndDrain"><code>queue#<b>killAndDrain()</b></code></a>
|
|
* <a href="#error"><code>queue#<b>error()</b></code></a>
|
|
* <a href="#concurrency"><code>queue#<b>concurrency</b></code></a>
|
|
* <a href="#drain"><code>queue#<b>drain</b></code></a>
|
|
* <a href="#empty"><code>queue#<b>empty</b></code></a>
|
|
* <a href="#saturated"><code>queue#<b>saturated</b></code></a>
|
|
* <a href="#promise"><code>fastqueue.promise()</code></a>
|
|
|
|
-------------------------------------------------------
|
|
<a name="fastqueue"></a>
|
|
### fastqueue([that], worker, concurrency)
|
|
|
|
Creates a new queue.
|
|
|
|
Arguments:
|
|
|
|
* `that`, optional context of the `worker` function.
|
|
* `worker`, worker function, it would be called with `that` as `this`,
|
|
if that is specified.
|
|
* `concurrency`, number of concurrent tasks that could be executed in
|
|
parallel.
|
|
|
|
-------------------------------------------------------
|
|
<a name="push"></a>
|
|
### queue.push(task, done)
|
|
|
|
Add a task at the end of the queue. `done(err, result)` will be called
|
|
when the task was processed.
|
|
|
|
-------------------------------------------------------
|
|
<a name="unshift"></a>
|
|
### queue.unshift(task, done)
|
|
|
|
Add a task at the beginning of the queue. `done(err, result)` will be called
|
|
when the task was processed.
|
|
|
|
-------------------------------------------------------
|
|
<a name="pause"></a>
|
|
### queue.pause()
|
|
|
|
Pause the processing of tasks. Currently worked tasks are not
|
|
stopped.
|
|
|
|
-------------------------------------------------------
|
|
<a name="resume"></a>
|
|
### queue.resume()
|
|
|
|
Resume the processing of tasks.
|
|
|
|
-------------------------------------------------------
|
|
<a name="idle"></a>
|
|
### queue.idle()
|
|
|
|
Returns `false` if there are tasks being processed or waiting to be processed.
|
|
`true` otherwise.
|
|
|
|
-------------------------------------------------------
|
|
<a name="length"></a>
|
|
### queue.length()
|
|
|
|
Returns the number of tasks waiting to be processed (in the queue).
|
|
|
|
-------------------------------------------------------
|
|
<a name="getQueue"></a>
|
|
### queue.getQueue()
|
|
|
|
Returns all the tasks be processed (in the queue). Returns empty array when there are no tasks
|
|
|
|
-------------------------------------------------------
|
|
<a name="kill"></a>
|
|
### queue.kill()
|
|
|
|
Removes all tasks waiting to be processed, and reset `drain` to an empty
|
|
function.
|
|
|
|
-------------------------------------------------------
|
|
<a name="killAndDrain"></a>
|
|
### queue.killAndDrain()
|
|
|
|
Same than `kill` but the `drain` function will be called before reset to empty.
|
|
|
|
-------------------------------------------------------
|
|
<a name="error"></a>
|
|
### queue.error(handler)
|
|
|
|
Set a global error handler. `handler(err, task)` will be called
|
|
each time a task is completed, `err` will be not null if the task has thrown an error.
|
|
|
|
-------------------------------------------------------
|
|
<a name="concurrency"></a>
|
|
### queue.concurrency
|
|
|
|
Property that returns the number of concurrent tasks that could be executed in
|
|
parallel. It can be altered at runtime.
|
|
|
|
-------------------------------------------------------
|
|
<a name="drain"></a>
|
|
### queue.drain
|
|
|
|
Function that will be called when the last
|
|
item from the queue has been processed by a worker.
|
|
It can be altered at runtime.
|
|
|
|
-------------------------------------------------------
|
|
<a name="empty"></a>
|
|
### queue.empty
|
|
|
|
Function that will be called when the last
|
|
item from the queue has been assigned to a worker.
|
|
It can be altered at runtime.
|
|
|
|
-------------------------------------------------------
|
|
<a name="saturated"></a>
|
|
### queue.saturated
|
|
|
|
Function that will be called when the queue hits the concurrency
|
|
limit.
|
|
It can be altered at runtime.
|
|
|
|
-------------------------------------------------------
|
|
<a name="promise"></a>
|
|
### fastqueue.promise([that], worker(arg), concurrency)
|
|
|
|
Creates a new queue with `Promise` apis. It also offers all the methods
|
|
and properties of the object returned by [`fastqueue`](#fastqueue) with the modified
|
|
[`push`](#pushPromise) and [`unshift`](#unshiftPromise) methods.
|
|
|
|
Node v10+ is required to use the promisified version.
|
|
|
|
Arguments:
|
|
* `that`, optional context of the `worker` function.
|
|
* `worker`, worker function, it would be called with `that` as `this`,
|
|
if that is specified. It MUST return a `Promise`.
|
|
* `concurrency`, number of concurrent tasks that could be executed in
|
|
parallel.
|
|
|
|
<a name="pushPromise"></a>
|
|
#### queue.push(task) => Promise
|
|
|
|
Add a task at the end of the queue. The returned `Promise` will be fulfilled (rejected)
|
|
when the task is completed successfully (unsuccessfully).
|
|
|
|
This promise could be ignored as it will not lead to a `'unhandledRejection'`.
|
|
|
|
<a name="unshiftPromise"></a>
|
|
#### queue.unshift(task) => Promise
|
|
|
|
Add a task at the beginning of the queue. The returned `Promise` will be fulfilled (rejected)
|
|
when the task is completed successfully (unsuccessfully).
|
|
|
|
This promise could be ignored as it will not lead to a `'unhandledRejection'`.
|
|
|
|
<a name="drained"></a>
|
|
#### queue.drained() => Promise
|
|
|
|
Wait for the queue to be drained. The returned `Promise` will be resolved when all tasks in the queue have been processed by a worker.
|
|
|
|
This promise could be ignored as it will not lead to a `'unhandledRejection'`.
|
|
|
|
## License
|
|
|
|
ISC
|
|
|
|
[ci-url]: https://github.com/mcollina/fastq/workflows/ci/badge.svg
|
|
[npm-badge]: https://badge.fury.io/js/fastq.svg
|
|
[npm-url]: https://badge.fury.io/js/fastq
|
|
[david-badge]: https://david-dm.org/mcollina/fastq.svg
|
|
[david-url]: https://david-dm.org/mcollina/fastq
|