All files / utils pMap.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 1/1
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21                                    1x    
/**
 * `Promise.all(data.map(callback))` 的简写。
 *
 * @param list 列表数据
 * @param callback 回调
 * @example
 * ```typescript
 * const res = await pMap(
 *   [1, 2],
 *   i => Promise.resolve(i),
 * )
 * // => [1, 2]
 * ```
 */
export function pMap<T, R>(
  list: T[],
  callback: (item: T, index: number, list: T[]) => R | PromiseLike<R>,
): Promise<R[]> {
  return Promise.all(list.map(callback))
}