数据库更新后,nodejs自动刷新视图

磨牙

每当函数对数据库进行更改时,我想使用nodeJS刷新视图。如果我们以MEAN-stack为例,我不想每x秒发送$ http-request来检查是否对数据库进行了更改。我希望前端自动获得通知,然后更新视图。

最佳做法是什么?我会在服务器端使用某种Oberserver模式,但不知道该如何通知前端。

汤姆·沙巴诺夫(Tom Shabanov)

要使前端自动获得通知,然后更新视图,可以使用Socket.io框架。您可以在其网站上找到所有文档:http : //socket.io/,这是一个基本示例:

app.js(用于设置服务器)

var http = require('http');
var express = require('express');
var port = normalizePort(process.env.PORT || '1000');
var app = express();
var server = http.createServer(app);
server.listen(port);

io = require('socket.io')(server);

///ROUTES
var routes = require('./routes/index')(io);
var users = require('./routes/users');
///////

我将io对象传递给路由索引(当然,在app.js上还有很多东西。。这只是一个基本示例...)。

mysql.js(创建连接池)

var mysql = require("mysql");
var pool = mysql.createPool({
host     : 'host',
user     : 'user',
password : 'pass',
database : 'db_name',
connectionLimit: 1000
});

exports.pool = pool;

index.js

module.exports = function(io) {
 var express = require('express');
 var router = express.Router();
 var mysql = require('../mysql.js').pool;

 io.on('connection', function (socket) {
        socket.on('event_name', function (data) {
    mysql.getConnection(function(err,connection){
        if (err) {
          connection.release();
          return;
        }               
         connection.query("SQL STUFF",function(err,rows){
            if(rows.length>0){//checks if there are more than 0 rows returned.....
                socket.emit('do_something',data_you_want_to_pass);
            }
            else{
                socket.emit('do_something_else',data_you_want_to_pass);
            }
            connection.release();    
         });

          connection.on('error', function(err) {      
            return;    
          });
    });
  });

});

router.get('/', function(req, res) {
res.render("index"); 
});

return router;
}

然后在html页面上,再次有socket.emit和socket.on .....

我建议您看一下文档和其他一些示例...

希望对您有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新数据库后自动刷新网页

来自分类Dev

会话过期后如何自动更新数据库而不刷新我的页面

来自分类Dev

在 Django 中更新数据库后如何自动更新视图?

来自分类Dev

删除数据库条目后刷新列表视图

来自分类Dev

保存到数据库后自动更新viewModel

来自分类Dev

android:从数据库中删除后,列表视图中的数据刷新

来自分类Dev

android:从数据库中删除后,列表视图中的数据刷新

来自分类Dev

数据库触发后刷新实体

来自分类Dev

使用NetBeans插入后如何自动刷新绑定到Mysql数据库的JTable

来自分类Dev

服务器数据库更改后自动刷新yii2网格

来自分类Dev

向 sql 数据库添加值后 PHP/Ajax 自动刷新

来自分类Dev

插入数据库后,Angularjs通过$ http.get服务刷新视图

来自分类Dev

插入数据库后,Angularjs通过$ http.get服务刷新视图

来自分类Dev

从数据库中删除项目后如何刷新我的列表视图

来自分类Dev

WPF,将数据添加到数据库后如何更新/刷新UI

来自分类Dev

使用Blazor在ASP.NET CORE中更新数据库后如何刷新网页

来自分类Dev

成功更新数据库后,Blazor服务器页面无法刷新

来自分类Dev

在JavaScript中刷新页面后,如何更新数据库中表的星级?

来自分类Dev

尽管数据库已成功更新,但删除行后表不会刷新

来自分类Dev

更新数据库中的记录后,Angular 2视图未更新

来自分类Dev

更新数据库中的记录后,Angular 2视图未更新

来自分类Dev

CodeFirst迁移:自动完成“更新数据库”后如何运行数据库脚本(C#或SQL)?

来自分类Dev

物化视图:如何在表数据更改后自动刷新?

来自分类Dev

在AngularJS中删除后如何自动加载/刷新视图数据?

来自分类Dev

在AngularJS中删除后如何自动加载/刷新视图数据?

来自分类Dev

Google折线图-自动刷新数据库

来自分类Dev

Google折线图-自动刷新数据库

来自分类Dev

弹出对话框更新数据库后的Android Update主要活动列表视图

来自分类Dev

拖放操作后更新数据库

Related 相关文章

  1. 1

    更新数据库后自动刷新网页

  2. 2

    会话过期后如何自动更新数据库而不刷新我的页面

  3. 3

    在 Django 中更新数据库后如何自动更新视图?

  4. 4

    删除数据库条目后刷新列表视图

  5. 5

    保存到数据库后自动更新viewModel

  6. 6

    android:从数据库中删除后,列表视图中的数据刷新

  7. 7

    android:从数据库中删除后,列表视图中的数据刷新

  8. 8

    数据库触发后刷新实体

  9. 9

    使用NetBeans插入后如何自动刷新绑定到Mysql数据库的JTable

  10. 10

    服务器数据库更改后自动刷新yii2网格

  11. 11

    向 sql 数据库添加值后 PHP/Ajax 自动刷新

  12. 12

    插入数据库后,Angularjs通过$ http.get服务刷新视图

  13. 13

    插入数据库后,Angularjs通过$ http.get服务刷新视图

  14. 14

    从数据库中删除项目后如何刷新我的列表视图

  15. 15

    WPF,将数据添加到数据库后如何更新/刷新UI

  16. 16

    使用Blazor在ASP.NET CORE中更新数据库后如何刷新网页

  17. 17

    成功更新数据库后,Blazor服务器页面无法刷新

  18. 18

    在JavaScript中刷新页面后,如何更新数据库中表的星级?

  19. 19

    尽管数据库已成功更新,但删除行后表不会刷新

  20. 20

    更新数据库中的记录后,Angular 2视图未更新

  21. 21

    更新数据库中的记录后,Angular 2视图未更新

  22. 22

    CodeFirst迁移:自动完成“更新数据库”后如何运行数据库脚本(C#或SQL)?

  23. 23

    物化视图:如何在表数据更改后自动刷新?

  24. 24

    在AngularJS中删除后如何自动加载/刷新视图数据?

  25. 25

    在AngularJS中删除后如何自动加载/刷新视图数据?

  26. 26

    Google折线图-自动刷新数据库

  27. 27

    Google折线图-自动刷新数据库

  28. 28

    弹出对话框更新数据库后的Android Update主要活动列表视图

  29. 29

    拖放操作后更新数据库

热门标签

归档