使用Firebase参考的最佳做法

时间:2020-02-10 18:17:05

标签: javascript firebase firebase-realtime-database

调用下面的函数来创建帖子

const createPost = (newPost) => {
 app.database().ref('posts').push(newPost);
}

这是该功能的另一个版本

const postRef = app.database().ref('posts');
const createPost = (newPost) => {
 postRef.push(newPost);
}

首选为什么

2 个答案:

答案 0 :(得分:1)

两者都将数据添加到数据库中,但是第二个更好:

const postRef = app.database().ref('posts');
const createPost = (newPost) => {
 postRef.push(newPost);
}

由于postRef指向数据库中的根节点,以后您可以在js文件中使用它。

答案 1 :(得分:0)

push返回一个promise,该promise将在对数据库的写操作完成时解决。如果不等待它解决,您将不知道它是否失败,因为您的函数将成功返回。相反,您将得到未处理的拒绝。同样,在函数返回后运行的所有内容将在firebase中获得更少的CPU和内存。所以像这样重写它:

const createPost = async (newPost) => {
    await app.database().ref('posts').push(newPost);
}

关于您最初的问题,如果只使用一次,则不应声明变量,因此我将选择第一个变体。