【发布时间】:2014-08-27 18:45:57
【问题描述】:
我正在使用 node.js 和 redis 制作一个网络应用程序。 我想在将每个传入请求推送到数据库之前将其推送到 redis 队列中。 但是每次程序到达 lpush 命令时都会出错。 这是我的 index.js 代码,
var express = require('express');
var app=express();
var http = require('http').Server(app);
var io=require('socket.io')(http);
var qs=require('querystring');
var redis=require('redis');
var client = redis.createClient();
var count=0;
var parseString = require('xml2js').parseString;
//var countm=1;
//var counte=1;
app.get('/adminm', function(req, res){
res.sendfile('adminmovies.html');
});
app.get('/admine', function(req, res){
res.sendfile('adminevents.html');
});
app.post('/', function(req,res){
count=count+1;
var body="";
req.on('data',function(data){
body+=data;
});
req.on('end',function(){
console.log(body);
var xml=body;
var parsed="";
parseString(xml, function(err,result){
console.dir(result);
parsed=result;
});
//var post=qs.parse(body);
io.emit('count1',count);
redis.lpush('events',parsed);
//console.log(post);
});
});
/*io.on('connection',function(socket){
});*/
http.listen(3000, function(){
console.log('listening on *:3000');
});
错误是,
TypeError: undefined is not a function
at IncomingMessage.<anonymous> (/home/kevin/Desktop/express-app/index.js:37:8)
at IncomingMessage.emit (events.js:104:17)
at _stream_readable.js:902:16
at process._tickCallback (node.js:343:11)
我该如何解决?
【问题讨论】:
标签: javascript node.js express redis node-redis