从Realm Sync Server收听Auth Success

时间:2017-07-25 16:36:25

标签: react-native realm

我正在玩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内部使用授权码;我宁愿为此进口一些东西。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这看起来像NodeJS服务器模式的一般问题。从我读到的,你需要在开始实际应用程序之前建立某种状态(在这种情况下,是一个打开的Realm)。

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

App.js中,您需要在需要Realm时调用此方法。这可以在服务器初始化之前或初始化后需要Realm时完成。