diff --git a/README.md b/README.md index 4319c9c..5e50363 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ $ yarn ## Usage ```javascript -import { createAsyncQueue } from "AsyncQueue"; +import { createAsyncQueue } from "asyncqueue-custom"; const queueProcess = createAsyncQueue(); // Some async function diff --git a/src/main.ts b/src/main.ts index 3eeeb85..22dfe80 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,5 +1,11 @@ import { IAsyncQueue, DeferredPromise, Callback } from './model'; +/** + * takes a single of promise. returns a promise for when asyncFunc are finished + * @param {Promise} asyncFunc + * @return {Promise} Promise to resolve when asyncFunc are finished + */ + export function createAsyncQueue(opts = { parallelConcurrent: false }): IAsyncQueue { const { parallelConcurrent } = opts let queue: Callback[] = [] @@ -46,6 +52,17 @@ export function createAsyncQueue(opts = { parallelConcurrent: false }) } } +/** + * takes a custom parallel async function of promises. returns a promise for when all func of parallel async are finished + * @param {Array} asyncFuncArray + * @param {number} should parallel async run at 1 time. Default 2 async function run at the time + * @return {Promise} Promise to resolve when parallel async (number config) are finished + */ +export function createAsyncCombineQueue(asyncFuncArray: T[] = [], parallelLimit: number = 2 ): any { + const push = (task: Callback) => {} + const start = async () => {} + +}