1.2.0 • Published 3 years ago

@divlook/queue v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

README

CI CD npm.io

Install

npm

https://www.npmjs.com/package/@divlook/queue

npm install @divlook/queue

gpr

npm install @divlook/queue --registry=https://npm.pkg.github.com

Usage

Example

const delay = (ms) => new Promise((r) => setTimeout(() => r(), ms))
const que = new Queue()

que.next(() => {
    console.log(1)
    return delay(300)
})
que.next(() => {
    console.log(2)
    return delay(300)
})
que.next(() => {
    console.log(3)
    return delay(300)
})

Import

Module

import { Queue } from '@divlook/queue'

CommonJs

const { Queue } = require('@divlook/queue')

Browser

<script src="https://unpkg.com/@divlook/queue/dist/queue.js"></script>
<script>
    var que = new Queue()
</script>

Error handling

const que = new Queue()

que.addListener('error', (response) => {
    if (response.error) {
        if (Queue.isDefinedError(response.error)) {
            /*
            {
                name: 'QueueError',
                message:
                    | 'Required parameter is missing `typeOrKey`'
                    | 'Listener limit is 1000'
            }
            */
        }

        console.error(response.error)
    }

    // If you want to continue
    que.next()

    // If you want to cancel the remaining tasks
    que.clearQueue()
})

API DOC

Exports

Properties

Methods