django-vue3-admin-web/node_modules/promise.series/README.md
2025-10-20 21:21:14 +08:00

71 lines
1.5 KiB
Markdown

# promise.series
[![NPM version](https://img.shields.io/npm/v/promise.series.svg?style=flat-square)](https://npmjs.com/package/promise.series) [![NPM downloads](https://img.shields.io/npm/dm/promise.series.svg?style=flat-square)](https://npmjs.com/package/promise.series) [![Build Status](https://img.shields.io/circleci/project/egoist/promise.series/master.svg?style=flat-square)](https://circleci.com/gh/egoist/promise.series)
> Run Promise in series.
## Install
```bash
$ npm install --save promise.series
```
## Usage
```js
const promiseSeries = require('promise.series')
const sleep = timeout => {
return new Promise(resolve => {
setTimeout(() => {
console.log(new Date())
resolve()
}, timeout)
})
}
// each item returns a Promise
promiseSeries([
() => sleep(1000),
() => sleep(2000)
]).then(() => {
console.log('Completed')
})
```
## API
### promiseSeries(tasks, [initialValue])
#### tasks
Type: `array`
An array of functions which return a Promise.
#### initialValue
Pass an initial value to the promise chain, eg:
```js
promiseSeries([
value => asyncOperation().then(() => value * 2),
value => asyncOperation().then(() => value * 2)
], 1).then(result => {
console.log(res)
//=> 4
})
```
## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D
## License
[MIT](https://egoist.mit-license.org/) © [EGOIST](https://github.com/egoist)