在后端更改时更正前端的正确方法

时间:2017-12-13 20:48:57

标签: node.js postgresql reactjs express knex.js

我目前正在设置以下应用程序:

  • 使用Express
  • 节点后端
  • 使用Knex作为接口的Postgres DB
  • React frontend

一切都按预期工作,我正在取得良好进展,我的问题更具架构性:

数据库更改发生时通知前端的首选/推荐/最佳方式是什么?

我看到Postgres有一个LISTEN/NOTIFY功能,但Knex(https://github.com/tgriesser/knex/issues/285)目前(以前)都不支持。

我的想法:

  • 轮询(每x秒查询一次数据库)。这看似浪费和过时,但设置起来很容易。
  • 套接字。重写我的所有Express端点以使用套接字?

我有兴趣了解其他人如何处理此事。

谢谢!

1 个答案:

答案 0 :(得分:1)

我之前有过类似的情况。我有一个前端,通过Web套接字连接到API。 API在成功提交数据库时发出消息,API端点与更新匹配。前端组件侦听这些更新套接字消息,如果更新的类型与该组件相关,则组件将通过https查询API端点以获取新数据。仅使用Web套接字来宣传更新可用,将无法重写整个API。