5.0.0 • Published 10 months ago
batch-perform-promise v5.0.0
batch-perform-promise
5.0版本使用father打包+semaphore实现
批量执行promise的方法,能够自定义“并行”发出的promise的个数
并行: promise发出等待时,为并行等待,由于js单线程,发出多个promise时是同步执行的,等待为并行,整体上有一种并行执行promise的感觉
快速启动
并行发出任务
import { batchPerformPromise } from 'batch-perform-promise';
// 准备任务以及处理函数
const payloads = ['p1', 'p2', 'p3'];
const handler = async (value: string) => Promise.resolve(value)
// await方式异步调用
const tasks = await batchPerformPromise<string>(payloads, handler);
// 查看调用结果 task
tasks[0] === {
done: true,
error: null,
payload: 'p1',
success: true,
}
并行执行时间
import { batchPerformPromise } from 'batch-perform-promise';
// 准备任务以及处理函数
const payloads = ['p1', 'p2', 'p3', 'p4', 'p5'];
// 处理函数,每2000ms执行完成一个promise
const handler = (payload: string) => new Promise((resolve) => {
const timer = setTimeout(() => {
clearTimeout(timer);
resolve(payload);
}, 2000);
});
// await方式异步调用
await batchPerformPromise<string>(payloads, handler);
// 一共执行时间6s
// [p1, p2] 2s
// [p3, p4] 2s
// [p5, ] 2s
// 共计6s
更多使用方式参考test文件
5.0.0
10 months ago
5.0.0-beta.2
10 months ago
4.0.1-beta.6
11 months ago
4.0.1-beta.7
10 months ago
4.0.1-beta.4
11 months ago
4.0.1-beta.5
11 months ago
4.0.1-beta.2
11 months ago
4.0.1-beta.3
11 months ago
4.0.1-beta.0
11 months ago
4.0.1-beta.1
11 months ago
4.0.1
10 months ago
3.0.0
3 years ago
2.1.0
4 years ago
2.0.0
4 years ago
1.0.0
4 years ago