2017-08-12 74 views
0

Firebase可让用户登录持续。但是,该用户在页面加载时不可用。该应用程序必须收听onAuthStateChanged以了解用户何时可用。等待时间很短,但不是微不足道的。是否可以检查持久性是否存在?

有没有什么办法可以检测用户是否可以持续之前用户可用?这将有助于适当地调整用户体验。在localStorage

来看,数据似乎可用,因此人们会想象,一个简单的方法可以返回truefalse是否localStorage提供任何持久性数据。但是,我无法在文档中找到这样的方法。

回答

0

我写了一个简单的实用功能来检测并返回localStorage中似乎是相关的项目。显然,官方的方法是可取的。

// Title: Get Persistent User 
// Description: Returns the persistent user data recorded by Firebase. 
export function getPersistentUser() 
{ 
    const expression = /^firebase:authUser/; 
    const keys = Object.keys(localStorage); 
    for (let index = 0; index < keys.length; index++) 
    { 
     const key = keys[index]; 
     if (expression.test(key)) 
     { 
      const item = localStorage.getItem(key); 
      return item; 
     }; 
    }; 
    return null; 
};