因此,首先我们要记住graphql有一个缓存,并将每个查询存储到它的缓存中。这意味着每次第一次执行查询时,它都会存储到缓存中,并且该查询的下一次调用将直接返回缓存信息。
这会引起问题,如果有新数据,它将永远不会真正更新内容。这就是实时网站的订阅来源。订阅将新数据从数据库返回到客户端,以便它可以更新自身而不必刷新其网页。
现在,我使用订阅的方式是在Android或iPhone上制作“ SMS”页面。我必须实时接收来自用户的消息,问题是订阅似乎并没有考虑订阅的参数。
这是我的订阅:
这是我的前端订阅
在订阅更多内容的底部,您可以看到getSMSFromClient正在使用prev.getSMSFromClient + newSMS更新。
但是,这将使用getSMSFromClient修改每个缓存数据,因此,即使与电话无关,也要修改所有用户对话...