可以检查持久性是否存在?

时间:2017-08-12 17:45:51

标签: javascript firebase firebase-authentication

Firebase可让用户登录持续存在。但是,用户在页面加载时不可用。该应用必须收听onAuthStateChanged以了解用户何时可用。等待很短暂,但并非微不足道。

在用户可用之前,有没有办法检测用户是否可以持久化?这将有助于适当地定制用户体验。

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

1 个答案:

答案 0 :(得分: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;
};