Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在NodeJS中使用forEachLimit_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何在NodeJS中使用forEachLimit

Javascript 如何在NodeJS中使用forEachLimit,javascript,node.js,express,Javascript,Node.js,Express,节点js中的forEachLimit的工作原理是什么 async.forEachLimit(array,5,(item,callback)=>{ //something },(err)=>{ //end of loop }) forEachLimit()中的第二个参数是异步操作的最大限制 从: limit—一次异步操作的最大数量 此外,从: @param{number}limit-一次异步操作的最大数量。forEachLimit()中的第二个参数是异步操作的最大限制

节点js中的
forEachLimit
的工作原理是什么

async.forEachLimit(array,5,(item,callback)=>{
    //something
},(err)=>{
    //end of loop
})

forEachLimit()
中的第二个参数是异步操作的最大限制

从:

limit—一次异步操作的最大数量

此外,从:


@param{number}limit-一次异步操作的最大数量。

forEachLimit()中的第二个参数是异步操作的最大限制

从:

limit—一次异步操作的最大数量

此外,从:


@param{number}limit-一次异步操作的最大数量。

它的工作原理几乎与
async.forEach
类似,只是它不会立即并行运行所有项的任务。并发值是一个整数,它告诉Async允许同时运行多少任务。假设我们的数据库一次只允许5个连接,那么我们只需将代码更改为:

app.delete('/messages/:messageIds', function(req, res, next) {
    var messageIds = req.params.messageIds.split(',');
    // `5` is the `concurrency` argument here
    // ----------------------------↴
    async.forEachLimit(messageIds, 5, function(messageId, callback) {
        db.delete('messages', messageId, callback);
    }, function(err) {
        if (err) return next(err);
        res.json({
            success: true,
            message: messageIds.length+' message(s) was deleted.'
        });
    });
});

它的工作原理几乎与async.forEach类似,只是它不会立即并行地为所有项运行任务。并发值是一个整数,它告诉Async允许同时运行多少任务。假设我们的数据库一次只允许5个连接,那么我们只需将代码更改为:

app.delete('/messages/:messageIds', function(req, res, next) {
    var messageIds = req.params.messageIds.split(',');
    // `5` is the `concurrency` argument here
    // ----------------------------↴
    async.forEachLimit(messageIds, 5, function(messageId, callback) {
        db.delete('messages', messageId, callback);
    }, function(err) {
        if (err) return next(err);
        res.json({
            success: true,
            message: messageIds.length+' message(s) was deleted.'
        });
    });
});

你能为你的问题提供更多的上下文吗?听起来很奇怪,i won kwon,5在forEachLimit中有什么用?它是并发限制。允许同时运行多少个异步请求。如果您的请求超过指定的限制,其他人将排队等待,直到另一个人完成。谢谢rasmeister…@Nodejs请编辑您的问题,以反映您在评论中提供的信息。您能为您的问题提供更多上下文吗?soundslikeodd i won kwon 5在forEachLimit中的用途是什么。这是并发限制。允许同时运行多少个异步请求。如果您的请求超过指定的限制,其他人将排队等待,直到另一个人完成。谢谢rasmeister…@Nodejs请编辑您的问题,以反映您在评论中提供的信息。