侦听来自领域同步服务器的身份验证成功



我正在玩Realm和Realm Object Server,我有一些工作,但它的结构阻止了我。我正在执行如下基本登录:

Realm.Sync.User.login('http://IPADDRESS:9080', 'user', 'password', (error, user) => {
if (!error) {
console.log('success');
} else {
console.log(error);
}
});

我知道我可以使用模式创建我的新 Realm 对象,并在此闭包中同步配置。但是,由于我想在整个应用程序中使用 realm 对象,我希望身份验证过程是 1 步,然后一旦成功,创建/获取我的 Realm 对象,以便我可以在应用程序的其余部分使用它,包括侦听事件。

如果我有这样的结构...

- src
-- realm
---- auth.js // does the auth
---- index.js // exports my realm object
-- App.js
- index.ios.js
- index.android.js

由于App.js是我的应用程序的主要入口点,我想在其上设置一些状态,以便在登录成功时更改,然后我可以允许应用程序的其他部分可用。但我不希望身份验证代码直接在我的App.js内;我宁愿为此导入一些东西。

有什么建议吗?

这看起来像一个更普遍的问题NodeJS服务器模式。 根据我所读到的内容,您需要在启动实际应用程序之前建立某种状态(在本例中为开放 Realm(。

我建议从auth.js中导出一个函数,该函数返回一个最终返回您的 Realm 对象的 Promise。 这可以缓存在 auth 中.js以消除每次请求 Realm 数据库时重新进行身份验证和重新打开 Realm 数据库。

App.js中,每当需要 Realm 时,你都需要调用此方法。 这可以在服务器初始化之前完成,也可以在初始化后需要 Realm 数据库时完成。

最新更新