首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我如何写网站的通知?

我如何写网站的通知?
EN

Stack Overflow用户
提问于 2019-04-13 11:03:33
回答 3查看 169关注 0票数 0

我正在为自己建一个网站。我使用MongoDB,feathers.js,Node.js和Angular 5。我想为它添加通知。它看起来像通知的StackOverflow。

我不需要推送通知。我只想要一个红色的突出显示,就像通知的StackOverflow一样,当我做一些特定的事件。我是新的,所以请给我的细节,我需要写的前端和后端或一些关于它的好来源。提前感谢。

EN

回答 3

Stack Overflow用户

发布于 2019-04-13 21:58:40

创建一个通过HTTP从服务器端请求通知的服务。应该显示红点的组件将使用该服务,并根据该服务的响应更改其状态。下面是使用HTTP:HTTP in Angular的示例,因此,创建一个从服务器通知请求的服务。然后,利用您创建的服务创建一个执行表示逻辑的组件(这是通过依赖项注入完成的,如here)。

票数 0
EN

Stack Overflow用户

发布于 2019-04-13 22:09:16

有两种方法可以实现这一点。

  • 您可以使用轮询来获取用户的通知。在轮询中,客户端在特定的时间间隔后向服务器发出请求,询问是否有新的通知。然后,通过响应类型,您可以显示/隐藏通知符号
  • 。另一种方法是在服务器和客户端之间使用套接字连接来建立通信。当需要向用户发送通知时,服务器通过套接字连接推送通知,而不是等待客户端发出请求。

这两种方法都有其优缺点,轮询的实现速度要快得多,但当您有数百万客户时,这并不是一个好的做法,因为您的服务器资源会被占用。此外,轮询会有一些延迟发送通知,因为它是客户端依赖的。

Advice:如果你开始为几千个用户或爱好项目实现,那么就去投票吧。只有当您迫切需要显示零延迟通知,并且您的客户群至少有数百万时,才考虑套接字连接。

票数 0
EN

Stack Overflow用户

发布于 2019-04-15 07:44:11

如果你正在使用带羽毛的socketio,那么很容易实现它。

event channels上阅读有关它的信息。

这个想法是在您的服务器中创建一个通道,以通过套接字获得连接的用户。

代码语言:javascript
代码运行次数:0
运行
复制
app.on('connection', connection => {
   app.channel('anonymous').join(connection);
});

然后,如果调用了服务方法,则通知通道中的连接。

代码语言:javascript
代码运行次数:0
运行
复制
app.service('notifications').publish('created', (data, context) => {
  return app.channel('anonymous');
});

然后,在您的客户端,您将通过侦听该方法事件来获取发布的数据。

代码语言:javascript
代码运行次数:0
运行
复制
app.service('notifications').on('created', notification => {
      console.log('notification created', notification);
   });

然后,如果您想要一个真实的示例,请尝试feathers chat

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55661611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档