【发布时间】:2020-02-18 04:25:29
【问题描述】:
所以 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 Function 来更新我的应用程序上的所有用户。
模型数据库结构:Users/userId
由于用户数量很少,我暂时没有遇到任何问题。
但是,随着用户数量的增长我担心我是否会达到一些限制..
根据以下人指出的问题:
1) david - 浏览器的最大并发 Web 请求会减慢速度
2) herohtar - 函数可用的内存有限
这两个问题表明,也可能存在一些限制。
那么,任何人都可以指向官方文档吗? 要么 Firebase 团队中的任何人,如果你们能对此有所了解的话。
【问题讨论】:
-
可能有一个限制,但它会非常非常大,比你曾经遇到的要大得多。您更有可能遇到其他问题,例如浏览器的最大并发 Web 请求会减慢速度。你问来干什么?只是好奇还是您有实际问题?
-
既然您在谈论 Firebase Cloud Functions,由于您的函数可用的内存有限,因此可能会遇到一些限制,除非您分配的内存超过了默认值。
-
@Herohtar - 感谢您指出内存问题。现在正在努力。 ??????
-
@david - 是否有关于“最大并发 Web 请求”问题的官方参考资料?或者我可以做些什么来解决这个问题?
-
不是专门针对 Promises,但您可以批量写入 Firestore。让生活更轻松firebase.google.com/docs/firestore/manage-data/transactions
标签: javascript firebase promise google-cloud-firestore google-cloud-functions