【发布时间】:2025-12-13 00:25:01
【问题描述】:
我还没有找到一个相对好的解决方案。也许社区可以提供帮助?
我正在从一些安静的端点将数据提取到我的流星应用程序中。一个建立在另一个之上。例如..我达到了一个终点并获得了一组作者。然后我需要点击第二个端点来提取每个作者写的书。
现在我在服务器端有两个独立的发布函数来获取数据集,但是第二个依赖于第一个的数据。 (我最初在我的应用中尝试只是在一次发布中完成所有操作,但这感觉不是最好的架构)
有没有办法从另一个发布服务器端订阅另一个发布?或者,我可以做一些其他检查方法吗? 到目前为止,互联网和堆栈溢出没有产生什么结果。我知道可用的 publishComposite 包..但它们似乎相对笨重,并不一定适用于我正在尝试做的事情。任何建议将不胜感激
【问题讨论】:
-
我很困惑:你说你有一些 REST API 和发布功能?所以这些是不同的?如果客户端通过 REST API 获取其数据,那么发布者在这里扮演什么角色?
-
很抱歉给您带来了困惑。我不拥有 REST API,它们不属于我的应用程序。我的应用正在使用来自这两个端点的数据。因此,为了进一步说明我的示例,我的应用程序调用其他方作者端点并获取作者列表..将其保存在集合中..并发布..然后我的应用程序为彼此调用书籍的另一个第三方端点,并将按作者存储书籍。我希望这能澄清我正在尝试做的事情。我可以在一种发布方法中完成所有操作。但如果可能的话,我想将这些问题分开。
-
好的,这有帮助。 Meteor 客户端订阅一次或两次以获取所有数据是您的意图吗?
-
其意图是订阅作者发布,并订阅图书发布......想想书籍网格......然后按作者排序......(在所有数据都下来之后当然是从第 3 方端点存储的)自然需要先发生作者发布,然后我们才能在图书发布中使用该数据。
-
一般来说,我不喜欢客户端连接。根据您的描述,我可能会进行 1 次订阅并合并数据。但这可能会失去书籍的反应性,所以这可能是不可取的。但我认为更大的架构问题是:是什么驱动了作者的 API 调用?如果它是由订阅请求启动的,那感觉很奇怪。我想我会有其他东西来驱动它,甚至可能是一项 cron 工作,这取决于我希望这些列表在远程服务上更改的频率。因此,传入的订阅将获得您已经拥有的集合数据,可能会在以后更新。
标签: javascript performance meteor