场景:运行交易。
我认为有关交易是否已提交的信息应与其他客户的“价值”事件大致同时收到。情况似乎并非如此(100毫秒延迟)。这是预期的行为(如果是这样,我怎么能衡量差异)或者我做错了什么?
coffeescript代码
# CLIENT 1
ref.transaction (-> 1), (e, c, d) ->
console.log "I'm first!" if c
# CLIENT 2
ref.on 'value', (d) ->
console.log "I'm much later"
here's an example (run this in two windows next to each other)
红圈(交易)赶上蓝圈(套)
答案 0 :(得分:2)
除非它是一个备受争议的Firebase位置(例如,100,000个并发用户尝试交易()相同位置),否则不应该涉及这种类型的延迟。另请注意,Firebase目前仅部署在美国。我们将在不久的将来在全球范围内推广,但网络延迟也可能在这里发挥作用。
Here's a simple example counter that uses transactions - 尝试从多个浏览器中查看连接的延迟情况。我的连接无法察觉延迟。