为了账号安全,请及时绑定邮箱和手机立即绑定

在 javascript 中出现循环时如何处理 firebase ref?

在 javascript 中出现循环时如何处理 firebase ref?

哆啦的时光机 2023-04-14 16:37:01
所以我正在研究一个循环,我想知道什么是推荐的方法来处理你循环访问一堆 firebase 存储项目并且你将使用一堆 firebase 子引用的情况。我正在使用 Node.js 12.18.2,我正在为 firebase 云函数编写函数,我将遍历存储在 firebase 存储中的一堆文件,我想在编写代码时牢记变量提升。//should I put the ref here? and ofc, which one is better to use var or let?let storageRef = firebase.storage();var storageRef = firebase.storage();item.forEach(element => {// or use seperate storage ref for each firebase storage itemlet storageRef = firebase.storage();var storageRef = firebase.storage();let storageRef.child("images/stars.jpg").getDownloadURL(); //bla bla bla});基本上不希望存储引用以某种方式相互碰撞。什么是最好的选择?
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

firebase.storage()返回在初始化对象的生命周期内不会改变的同一个单例对象firebase。访问它基本上不需要任何费用。const如果你想重用那个对象,在你的程序的顶层声明它更有意义,这样你的代码就清楚地表明变量在分配后永远不会改变。

此外,我不会调用它storageRef,因为引用是云存储中的一种特殊类型的对象(调用 child() 时会得到),我不想将其与此单例对象混淆。

const storage = firebase.storage();

最后,您似乎在 Cloud Functions 中使用 JavaScript 客户端 SDK,这可能会出现问题。您应该考虑改用nodejs SDK,这将更易于在 Cloud Functions 中使用,并且还为您提供对存储桶的完全管理员访问权限。如果你想创建一个下载 URL,你应该使用不同的策略。


查看完整回答
反对 回复 2023-04-14
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信