使用可配置的并发性来评估异步任务。
队列会评估零个或多个可配置并发性的延迟异步任务:您可以控制同时运行的任务数量。当所有任务完成或出现错误时,队列会将结果传递给您的await回调。此库类似于 Async.js 的 parallel(当并发性为无限时)、series(当并发性为 1 时)和 queue,但功能更小:在 2 版本中, d3-queue 文件大小为 700 字节(经过 gzip 压缩),而 Async 为 4,300 字节。 每个任务都定义为一个函数,其最后一个参数为回调函数。例如,以下是一个在短暂延迟后打招呼的任务:
function delayedHello(callback) {
setTimeout(function() {
console.log("Hello!");
callback(null);
}, 250);
}
``` 当任务完成时,必须调用提供的回调函数。回调函数的第一个参数应为 null,如果任务成功;否则为错误,如果任务失败。回调函数的可选第二个参数是任务的返回值。 (若要从单个回调函数中返回多个值,请将结果封装为对象或数组。) 要同时运行多个任务,请创建队列,使用 `defer` 来延迟任务,然后注册一个 `await` 回调函数,以在所有任务完成(或出现错误)时调用:
任务可以接受可选参数。例如,以下是如何配置 hello 之前的延迟并提供一个名称:暂无开放 Issues,或尚未同步最近议题。