Firebase push()和主线程

时间:2016-09-20 18:48:18

标签: firebase

即使在阅读了文档后,我对Firebase中push()的功能感到困惑。它们提供以下代码:

// Generate a reference to a new location and add some data using push()
var newPostRef = postsRef.push();
// Get the unique ID generated by push()
var postID = newPostRef.key();

push()是否进行服务器查询以获取唯一ID(因此滞后主线程 - 似乎不聪明),或者它是否只是创建一个“脏”的唯一ID,稍后会检查该主机的唯一性在服务器中的分类帐?文档似乎有点不清楚ID的健壮性,所以我想确定。

1 个答案:

答案 0 :(得分:0)

Firebase的push()方法是纯粹的客户端方法。它根据当前时间(校正了服务器本地时钟的最后已知偏移量)和大量随机信息生成密钥。它产生的关键在统计上保证是唯一的。

要详细了解这些密钥,请参阅此博文:The 2^120 Ways to Ensure Unique Identifiers