Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaelzhang/promise-planner

Plan multiple named tasks and only resolve after all tasks are marked as done
https://github.com/kaelzhang/promise-planner

nodejs planner promise

Last synced: 12 days ago
JSON representation

Plan multiple named tasks and only resolve after all tasks are marked as done

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/kaelzhang/promise-planner.svg?branch=master)](https://travis-ci.org/kaelzhang/promise-planner)
[![Coverage](https://codecov.io/gh/kaelzhang/promise-planner/branch/master/graph/badge.svg)](https://codecov.io/gh/kaelzhang/promise-planner)

# promise-planner

Plan multiple named tasks and only resolve after all tasks are marked as done

## Install

```sh
$ npm i promise-planner
```

## Usage

```js
const Planner = require('promise-planner')

const plan = new Planner(
['foo', 'bar', 'baz'],
async (...args) => {
console.log('args', args)
return doSomethingAsync(...args)
}
)

plan.then(() => {
console.log('completed')
})

plan.resolve('foo', 1)
plan.resolve('bar', 2)
plan.resolve('baz', 3)

// args [1, 2, 3]
// completed
```

## License

[MIT](LICENSE)