gpt4 book ai didi

javascript - Node.JS async.parallel 混淆 | async.map 返回什么

转载 作者:行者123 更新时间:2023-11-30 09:52:33 25 4
gpt4 key购买 nike

OneDriveGDrive中都有50个文件夹,每个文件夹包含500个文件。onedriveUrlsgdriveUrlslength 50 的数组,分别包含指向这些文件夹的链接。

混淆! 以下代码预计在 2 个级别并行运行,首先是 async.parallel,第二个是 async.map,是正确的代码或 async.map 应该包含在 setTimeout 中以确保所有级别并行运行?

async.parallel({
onedrive: function(callback){
async.map(onedriveUrls, request, function(err, results) {
if (err) throw(err); // handle error
callback(null,results);
});
},
gdrive: function(callback){
async.map(gdriveUrls, request, function(err, results) {
if (err) throw(err); // handle error
callback(null,results);
});
}
},
function(err, results) {
// results is now equals to: {onedrive: [array_of_length_x], gdrive: [array_of_length_y]}
});

还有 async.map 返回的是什么——promise 还是什么?

帮助愉快!

最佳答案

Is it a correct code or async.map should be wrapped in setTimeout to ensure all levels are running parallel?

没有。 request 应该是异步的,一切正常。将任何内容包装在 setTimeout 中都无济于事。

Also what is returned by async.map -- promise or what?

没有。 map像大多数其他异步函数一样返回 undefined,它只使用结果数组调用它的回调。


顺便说一句,您应该将代码简化为

async.parallel({
onedrive: function(callback) {
async.map(onedriveUrls, request, callback);
},
gdrive: function(callback) {
async.map(gdriveUrls, request, callback);
}
}, function(err, results) {

});

关于javascript - Node.JS async.parallel 混淆 | async.map 返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35632487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com