javascript - 是否可以限制 Node 中的异步任务?

标签 javascript node.js asynchronous

我有以下异步代码部分:

async.forEach(list, function(file, loopCallback) {
    console.log("file");
    loopCallback();
}, {
    console.log("all done!");
});

它打印了我列表中所有文件的名称,太棒了。现在,我想限制并行处理的文件数量。如果我一次只想处理一个文件怎么办?

我听说过 async.ParallelLimitasync.Queue,想知道如何调整此代码以适应其中之一,特别是 并行限制

有什么想法吗?

最佳答案

我想你需要的是eachLimit ,而不是 parallelLimit。这是一个例子:

async.each(
    list,
    1, // limit
    function(file, callback) {
        console.log('Processing file ' + file);
        callback();
    },
    function(err){
        if( err ) {
          console.log('Failed to process');
        } else {
          console.log('All files have been processed successfully');
        }
    }
);

关于javascript - 是否可以限制 Node 中的异步任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865032/

相关文章:

java - 如何将 JavaScript 数组转换为 Java 数组

javascript - Fabricjs objectCaching : zoom image content, 保持图像边框

javascript - 对于 Javascript 应用程序,比普通 JSON 更丰富的数据序列化?

node.js - 在新的流程 Node 中执行功能

c# - 如何将一个 IEnumerable 异步转换为另一个 IEnumerable,就像 LINQ 的 Select() 一样,但对每个转换后的项使用 wait ?

JavaScript 异步循环

javascript - 异步测试jasmine超时错误

JavaScript "=>"语法含义

javascript - Nodejs如何等待子进程退出或允许其响应

javascript - 如何使用 nodejs 通过套接字从服务器到客户端进行通信?