# sleepqueue

> A promise-based queue that sleeps between callbacks

Latest version **0.0.5** (published 2015-05-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install sleepqueue
pnpm add sleepqueue
yarn add sleepqueue
bun add sleepqueue
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2015-05-28 |
| First published | 2015-05-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Maximilian Schmitt |
| Maintainers | maximilianschmitt |

## Links

- npm: https://www.npmjs.com/package/sleepqueue
- Repository: https://github.com/maximilianschmitt/sleepqueue
- Issues: https://github.com/maximilianschmitt/sleepqueue/issues
- npm.io page: https://npm.io/package/sleepqueue

## Dependencies (3)

- [object.assign](https://npm.io/package/object.assign.md) ^3.0.0
- [promise-defer](https://npm.io/package/promise-defer.md) ^1.0.0
- [native-promise-only](https://npm.io/package/native-promise-only.md) ^0.7.8-a

## Recent versions

- 0.0.5 (latest) — 2015-05-28
- 0.0.4 — 2015-05-26
- 0.0.3 — 2015-05-25
- 0.0.1 — 2015-05-24

## README

# sleepqueue

[![Travis Build](http://img.shields.io/travis/maximilianschmitt/sleepqueue.svg?style=flat)](https://travis-ci.org/maximilianschmitt/sleepqueue) [![Code Coverage](https://img.shields.io/coveralls/maximilianschmitt/sleepqueue.svg)](https://coveralls.io/r/maximilianschmitt/sleepqueue) [![npm](https://img.shields.io/npm/dm/sleepqueue.svg)](https://www.npmjs.com/package/sleepqueue)

A promise-based queue that sleeps between callbacks.

## Installation

```
$ npm i sleepqueue -S
```

## Usage

### General

```js
var sleepqueue = require('sleepqueue');

// create a queue with an interval of 1 second
var queue = sleepqueue({ interval: 1000 });

// `push` pushes to the end of the queue
queue.push(print('My name is'));
queue.push(print('My name is'));
queue.push(print('My name is'));
queue.push(print('Slim Shady'));

// `unshift` pushes to the start of the queue
queue.unshift(print('Hi'));

// just a helper function
function print(what) {
  return function() {
    console.log(what);
  };
}
```

Output:

```
Hi
# (wait 1 second)
My name is
# (wait 1 second)
My name is
# (wait 1 second)
My name is
# (wait 1 second)
Slim Shady
```

### Errors

Uncaught errors and rejected promises will stop the queue and emit an error event.

```js
queue.push(print('Hello'));
queue.push(function() {
  throw 'I stopped the queue';
});
queue.push(print('Bye'));

queue.on('error', function(err) {
  console.log('Error: ' + err);
});
```

Output:

```
Hello
Error: I stopped the queue
```

---
_Source: https://npm.io/package/sleepqueue · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
