我有自定义 Firebase 身份验证流程(Auth0 => Firebase)
,因此,一旦我从 sessionStorage 或新的 session 存储中获得成功的 JWT token ,我就使用 TypeScript 和 Svelte 运行所有登录逻辑。登录后,我启动 Elm 应用程序,通过标志向其发送一些 JWT 和个人资料信息。它是一个 SPA,带有路由和页面,全部组件化并且工作正常。
我现在唯一真正的问题是,当涉及到 Firebase 时,当然,ElmFire 存在,但我如何给它一个有效的身份验证 token 等。并且在不加载适用于 JS 的 Firebase 和适用于 Elm 的 ElmFire 的情况下,看起来就像太多 Kb 了。
有没有一种好的、有效的方法让 Elm 输出“嘿,听听这个引用文献”,以及“嘿 Elm,我有一些关于这个引用文献的新数据”。端口告诉 JS 监听,订阅告诉 Elm 新数据。无需为每个监听器提供端口,也无需为每个数据回调提供订阅。
理想情况下,我希望我的更新能够发送接受回调消息的 CMD,更新要调用的函数和引用。这样我就可以将其存储在某种列表中,当我从 JS 获取新的数据有效负载时,我可以循环遍历我的列表以查找与引用匹配的项目,执行更新,发送带有以下内容的消息:字符串值,因此解码发生在页面更新时。
Someone feel free to abstract this question into something more general. Feel like this question is something more people might have.
最佳答案
问题是 port/sub 必须在 Elm 中输入。
因此,具有一个参数的单个端口/子可以监听多个引用,只要它们都具有相同的类型。
如果没有,您可以使用多个参数定义端口/子端口,每个参数对应您要交换的每种数据类型,并在适当的参数中传递任何特定数据。其他参数将为空。
关于javascript - 通过端口与 Elm 进行外部 Firebase 通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41694843/