zent
Version:
一套前端设计语言和基于React的实现
17 lines (15 loc) • 376 B
text/typescript
export function createPromiseQueue<T>(
items: T[],
pGenerator: (item: T) => Promise<void>
) {
return () =>
items.reduce((prevP, item) => {
return prevP.then(() => pGenerator(item));
}, Promise.resolve());
}
export function execPromiseQueue<T>(
items: T[],
pGenerator: (item: T) => Promise<void>
) {
return createPromiseQueue(items, pGenerator)();
}