@lzwme/fe-utils
    Preparing search index...

    Function concurrency

    • 并发执行多任务

      Type Parameters

      • T
      • E = Error | T

      Parameters

      • taskList: ITask<Promise<T>>[]
      • maxDegreeOfParalellism: number = 5

      Returns Promise<{ error: E; index: number; result: T }[]>

      async function concurrencyTest(paralelism = 5, total = 100) {
      const startTime = Date.now();
      const taskList = Array.from({ length: total })
      .fill(1)
      .map((_v, idx) => () => sleep(50, idx));

      console.log(tasklist);
      const result = await concurrency(taskList, paralelism);
      console.log('TimeCost:', Date.now() - startTime);

      return result;
      }

      await concurrencyTest(10);
      await concurrencyTest(100);