如何在没有websocket的情况下进行通知

时间:2019-07-04 12:55:12

标签: javascript reactjs websocket

我想在我的react应用程序中集成一个简单的通知系统。我想通知例如: -新帖子(当用户发布系统时,需要时间对附加的媒体和出版物进行转码) -缺少设置(用户需要编译一些信息) -有趣的帖子等。

有一种简单的方法可以将websocket(例如socket.io)添加到带有aws lambda后端的reactjs应用程序中?

不需要实时读取所有通知,也许每2分钟调用一次ajax可以解决我的问题,但是在这种情况下,如果不使用应用程序,有人可以帮助我避免进行ajax调用(例如该应用程序仍在前景选项卡中处于打开状态...)

componentDidMount() {
    this.liveUpdate()
    setInterval(this.liveUpdate, 120000);
}

liveUpdate() {
    axios.get(endpoint.posts+'/live/', cfg)
        .then(res => {
            // ...
        });
}

此代码位于页脚组件中,每120秒调用一次,但是如果用户在浏览器中打开应用程序而不使用它,调用仍然会发生,这在lambda后端意味着浪费金钱

1 个答案:

答案 0 :(得分:0)

目前有3种主要的通知方式...

  1. 长时间轮询(使用ajax等)
  2. Websocket
  3. 推送通知

(尽管)按下需要用户的许可