我正在尝试验证 Firebase 存储中是否存在文件列表。 文件数可以从 1 到 N(N 可以增长到 1000s/10000s)。
我有一个 Promise.all
代码执行所有这样的承诺:
const filePaths = [// 10000 of paths here];
const checkExistence = async (path) => bucket.file(path).exists();
const fileStatuses = await Promise.all(filePaths.map(checkExistence);
我注意到 filePaths
越长,Promise.all
解析所需的时间就越长。
我天真地认为它会在最长的通话时间内解决,但事实并非如此。 我认为与过多的并发调用有关,所以我尝试了批处理,但它并没有提高脚本的整体性能。
当前的等待时间可能在 90/180 秒左右。
谁能给我解释一下为什么?等待数千个异步请求的最有效(最快)解决方案是什么?
感谢您的帮助,