如何避免在 React Native 中轮询服务器以获取新数据?

Posted

技术标签:

【中文标题】如何避免在 React Native 中轮询服务器以获取新数据?【英文标题】:How to avoid polling server in React Native for new data? 【发布时间】:2020-04-15 19:50:15 【问题描述】:

有什么方法可以避免在 React Native 中轮询服务器以检查数据更新吗?我在后端的 AWS Lightsail 中使用 python,理想情况下希望在后端的某些数据更新时通知前端,并且仅在发生这种情况时重新渲染。我目前不知道如何做到这一点,但这似乎是一件非常普遍的事情,我只是在错误的地方寻找如何做到这一点。有什么建议吗?

【问题讨论】:

【参考方案1】:

Websockets:如果您只希望应用程序在运行时进行更新,您的客户端/应用程序可以向您的后端打开一个 websocket,并让后端在需要时发送更新。您的应用程序需要决定何时将这些消息发送给客户端,但已经建立了连接(websocket)。我发现这个SO answer 很有趣。

推送通知:或者,您可以有一些在您希望更新客户端时触发(触发数据库中数据更改的无服务器功能?)。该函数将通过 FCM(适用于 android 设备的 Firebase 云消息传递)或 APNs(适用于 ios 的 Apple 推送通知服务)发送通知,并且您的客户端可以拥有此通知的处理程序。

【讨论】:

以上是关于如何避免在 React Native 中轮询服务器以获取新数据?的主要内容,如果未能解决你的问题,请参考以下文章

在python中轮询键盘(检测按键)

在 C 中轮询 TCP 连接

如何根据条件从优先级队列中轮询值

在 erlang 中轮询接收块是一种好的做法吗?

在c#中轮询一个url

在windows中轮询CTS线路的状态