项目作者: Mike96Angelo

项目描述 :
An async control flow for promises.
高级语言: JavaScript
项目地址: git://github.com/Mike96Angelo/promasync.git
创建时间: 2017-07-29T04:46:46Z
项目社区:https://github.com/Mike96Angelo/promasync

开源协议:MIT License

下载


promasync

An async control flow for promises.

  1. $ npm install promasync --save

import: (typescript)

  1. import * as Async from 'promasync/ts'

require:

  1. var Async = require('promasync') // (default: es2015)
  2. var Async = require('promasync/es3')
  3. var Async = require('promasync/es5')
  4. var Async = require('promasync/es2015')
  5. var Async = require('promasync/es2016')
  6. var Async = require('promasync/es2017')
  1. /*****************
  2. ** Collections **
  3. *****************/
  4. Async.concat<T, R>(arr: T[], iterator: ((item: T) => Promise<R[]>)): Promise<R[]>;
  5. Async.concatSeries<T, R>(arr: T[], iterator: ((item: T) => Promise<R[]>)): Promise<R[]>;
  6. Async.concatLimit<T, R>(limit: number, arr: T[], iterator: ((item: T) => Promise<R[]>)): Promise<R[]>;
  7. Async.each<T>(arr: T[], iterator: ((item: T) => Promise<any>)): Promise<void>;
  8. Async.eachSeries<T>(arr: T[], iterator: ((item: T) => Promise<any>)): Promise<void>;
  9. Async.eachLimit<T>(limit: number, arr: T[], iterator: ((item: T) => Promise<any>)): Promise<void>;
  10. Async.every<T>(arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<boolean>;
  11. Async.everySeries<T>(arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<boolean>;
  12. Async.everyLimit<T>(limit: number, arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<boolean>;
  13. Async.filter<T>(arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<T[]>;
  14. Async.filterSeries<T>(arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<T[]>;
  15. Async.filterLimit<T>(limit: number, arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<T[]>;
  16. Async.groupBy<T>(arr: T[], iterator: ((item: T) => Promise<string>)): Promise<{[key: string]: T[]}>;
  17. Async.groupBySeries<T>(arr: T[], iterator: ((item: T) => Promise<string>)): Promise<{[key: string]: T[]}>;
  18. Async.groupByLimit<T>(limit: number, arr: T[], iterator: ((item: T) => Promise<string>)): Promise<{[key: string]: T[]}>;
  19. Async.groupResultBy<T, R>(arr: T[], iterator: ((item: T) => Promise<[string, R]>)): Promise<{[key: string]: R[]}>;
  20. Async.groupResultBySeries<T, R>(arr: T[], iterator: ((item: T) => Promise<[string, R]>)): Promise<{[key: string]: R[]}>;
  21. Async.groupResultByLimit<T, R>(limit: number, arr: T[], iterator: ((item: T) => Promise<[string, R]>)): Promise<{[key: string]: R[]}>;
  22. Async.map<T, R>(arr: T[], iterator: ((item: T) => Promise<R>)): Promise<R[]>;
  23. Async.mapSeries<T, R>(arr: T[], iterator: ((item: T) => Promise<R>)): Promise<R[]>;
  24. Async.mapLimit<T, R>(limit: number, arr: T[], iterator: ((item: T) => Promise<R>)): Promise<R[]>;
  25. Async.some<T>(arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<boolean>;
  26. Async.someSeries<T>(arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<boolean>;
  27. Async.someLimit<T>(limit: number, arr: T[], iterator: ((item: T) => Promise<boolean>)): Promise<boolean>;
  28. Async.sortBy<T, C>(arr: T[], iterator: ((item: T) => Promise<C>)): Promise<T[]>;
  29. Async.sortBySeries<T, C>(arr: T[], iterator: ((item: T) => Promise<C>)): Promise<T[]>;
  30. Async.sortByLimit<T, C>(limit: number, arr: T[], iterator: ((item: T) => Promise<C>)): Promise<T[]>;
  31. Async.sortResultBy<T, C, R>(arr: T[], iterator: ((item: T) => Promise<[C, R]>)): Promise<R[]>;
  32. Async.sortResultBySeries<T, C, R>(arr: T[], iterator: ((item: T) => Promise<[C, R]>)): Promise<R[]>;
  33. Async.sortResultByLimit<T, C, R>(limit: number, arr: T[], iterator: ((item: T) => Promise<[C, R]>)): Promise<R[]>;
  34. /******************
  35. ** Control Flow **
  36. ******************/
  37. Async.run<R>(tasks: (() => Promise<R>)[]): Promise<R[]>;
  38. Async.runSeries<R>(tasks: (() => Promise<R>)[]): Promise<R[]>;
  39. Async.runLimit<R>(limit: number, tasks: (() => Promise<R>)[]): Promise<R[]>;
  40. Async.queue<T, R>(limit: number, worker: ((task: T) => Promise<R>)): Queue<T, R>;

Queue:

  1. Queue<T, R>.limit: number;
  2. Queue<T, R>.started: boolean;
  3. Queue<T, R>.paused: boolean;
  4. Queue<T, R>.killed: boolean;
  5. Queue<T, R>.running: number;
  6. Queue<T, R>.saturated?: () => void;
  7. Queue<T, R>.unsaturated?: () => void;
  8. Queue<T, R>.empty?: () => void;
  9. Queue<T, R>.drain?: () => void;
  10. Queue<T, R>.error?: (err: any) => void;
  11. Queue<T, R>.length: number; // readonly
  12. Queue<T, R>.idle: boolean; // readonly
  13. Queue<T, R>.pause(): void;
  14. Queue<T, R>.resume(): void;
  15. Queue<T, R>.push(task: T | T[]): Promise<R | R[]>;
  16. Queue<T, R>.unshift(task: T | T[]): Promise<R | R[]>;
  17. Queue<T, R>.remove(test: ((task: T) => boolean)): boolean;
  18. Queue<T, R>.kill(): void;