创建一个报告进度的 promise
创建一个报告进度的 promise 在长时间运行的异步操作期间,可用于向用户报告进度。
npm install p-progressimport pProgress from 'p-progress';
const runJob = async name => pProgress(async progress => {
const job = new Job(name);
job.on('data', data => {
progress(data.length / job.totalSize);
});
await job.run();
});
const progressPromise = runJob('Gather rainbows');
progressPromise.onProgress(console.log);
//=> 0.09
//=> 0.23
//=> 0.59
//=> 0.75
//=> 1
await progressPromise;一个方便的方法,用于让您的 promise-returning 或 async 函数报告进度。
您指定的函数将以 progress() 函数为参数传递。
与 [Promise 构造函数](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise) 相同,但 executor中附加了一个progress参数。PProgress是Promise` 的子类。
类型: Function
使用此方法进行进度更新。它期望接收一个介于 0 和 1 之间的数值。
具有相同数字的多个调用只会产生一个 onProgress() 事件。 与之前的数字相比较低的调用将被忽略。 当 promise 解析时,会向您报告进度百分比 1。 如果您自己设置了它,则会被忽略。
暂无开放 Issues,或尚未同步最近议题。