Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 如何使用不同的参数异步运行许多函数?_Javascript_Node.js_Asynchronous_Promise_Async Await - Fatal编程技术网

Javascript 如何使用不同的参数异步运行许多函数?

Javascript 如何使用不同的参数异步运行许多函数?,javascript,node.js,asynchronous,promise,async-await,Javascript,Node.js,Asynchronous,Promise,Async Await,我有一个类似deleteItemid的异步func和一个ID数组。 如何为每个id同时异步运行相同的函数 在这种情况下,一切都有帮助吗 deleteItem-从google云存储中删除文件您可以尝试以下操作: var ids = ['id1', 'id2', 'id3']; var myParallelTasks = []; //push all delete functions in an array ids.forEach( function( id ) { myParallelT

我有一个类似deleteItemid的异步func和一个ID数组。 如何为每个id同时异步运行相同的函数

在这种情况下,一切都有帮助吗


deleteItem-从google云存储中删除文件

您可以尝试以下操作:

var ids = ['id1', 'id2', 'id3'];
var myParallelTasks = [];

//push all delete functions in an array
ids.forEach( function( id )
{
    myParallelTasks.push( deleteItem( id, function(callback)
    {
       callback();
    })
    );
}

//wait for all to finish
async.parallel( myParallelTasks, function()
{
    // all done
    console.log( "All files were deleted " );          
});

这完全取决于deleteItem的实际功能。但是,您没有发布该消息。Promise.all将有助于在完成所有并行异步函数后获得通知。但是请注意,JavaScript是单线程的。实际上,只有离开JS环境的I/O操作才能并行化。当然,您总是可以生成更多进程。正如Pointy所说,这实际上取决于deleteItem的功能。deleteItem执行从google云存储中删除文件的承诺