大佬教程收集整理的这篇文章主要介绍了node.js – 数据库更新后的nodejs自动刷新视图,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是什么最佳做法?我会在服务器端使用某种Oberserver模式,但不知道如何通过它来通知前端.
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 …..
我建议你看看文档和其他几个例子……
我希望我帮助过你.
以上是大佬教程为你收集整理的node.js – 数据库更新后的nodejs自动刷新视图全部内容,希望文章能够帮你解决node.js – 数据库更新后的nodejs自动刷新视图所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。