Firebase online/offline 代码段的第一个响应总是 'offline'

Firebase online/offline snippet's first response always 'offline'

在初始加载时,当 Angular 应用程序需要检查 Firebase 是否 online/offline 到 enable/disable 某些功能时,如何防止 Firebase 在第一次回调时响应 'offline'

var firebaseRef = new Firebase(FIREBAE_URL);
firebaseRef.child('.info/connected').on('value',
  function(connectedSnap) {
     if (connectedSnap.val() === true) {
       console.log("online");
     } else {
      console.log("offline");
     }
});

.info/connected child 始终以当前连接状态进行响应。如果您在应用程序生命周期的早期附加它,Firebase 客户端正忙于连接到服务器,因此它还不会连接。

除了可能在生命周期后期附加侦听器外,无法更改此行为。