我正在玩Realm和Realm对象服务器而且我有一些工作但它的结构阻止了我。我正在执行基本登录,如下所示:
Realm.Sync.User.login('http://IPADDRESS:9080', 'user', 'password', (error, user) => {
if (!error) {
console.log('success');
} else {
console.log(error);
}
});
我知道我可以在此闭包中使用架构和同步配置创建我的新Realm对象。但是,由于我想在整个应用程序中使用领域对象,我希望auth进程为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
内部使用授权码;我宁愿为此进口一些东西。
有什么建议吗?
答案 0 :(得分:1)
这看起来像NodeJS服务器模式的一般问题。从我读到的,你需要在开始实际应用程序之前建立某种状态(在这种情况下,是一个打开的Realm)。
我建议从auth.js
导出一个返回Promise的函数,该函数最终返回你的Realm对象。这可以在auth.js中缓存,以便在每次请求时消除重新验证和重新打开Realm。
在App.js
中,您需要在需要Realm时调用此方法。这可以在服务器初始化之前或初始化后需要Realm时完成。