所以 Promise.all() 确实让生活变得更简单。
但是可以添加到“Promise.all()”的 promise 数量是否有任何限制
即以下代码中是否有任何数组'promises'的大小限制:-
const promises = [];
snapshot.forEach(doc => {
**some code**
promises.push(
docRef.set(newData, {merge: true})
);
});
return Promise.all(promises);
-------------------------------------------- --------------------------
进一步说明:
我正在使用此 Cloud Functions 来更新我应用程序上的所有用户。
模型数据库结构:Users/userId
由于用户数量较少,我目前没有遇到任何问题。
但是,随着用户数量的增长我担心我是否会达到一些限制..
并且根据指出的问题:
1) david - 浏览器的最大并发网络请求减慢速度
2) herohtar - 您的功能可用的内存有限
这两个问题表明,也可能存在一些限制。
那么,任何人都可以指向官方文档吗? 或者 来自 Firebase 团队的任何人,如果你们能对此有所启发的话。
最佳答案
如果此函数必须扩展到大量用户,那么在您超过 promise 数量的任何限制之前,您几乎肯定会遇到更多超出函数内存和时间限制的问题。我强烈建议仔细考虑一下,如果你真的想在一个 N 可能非常大的函数中加载和执行 N 个任务。这不是 Cloud Functions 的用途。
如果您确实需要以可扩展的方式执行 N 项任务,并且您必须使用 Cloud Functions,请考虑将您的工作分解为可管理、可预测的大小,并将工作分解为多个函数调用。
关于javascript - Firebase 云函数 - promise : Is there any limitation to the number of 'promises' that can be added to Promise. all()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58497161/