- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到以下错误
Caught exception: Error: write after end
at ServerResponse.OutgoingMessage.write (_http_outgoing.js:413:15)
at ServerResponse.res.write (/home/projectfolder/node_modules/express/node_modules/connect/lib/middleware/compress.js:110:17)
at ServerResponse.res.end (/home/projectfolder/node_modules/express/node_modules/connect/lib/middleware/compress.js:116:14)
at ServerResponse.res.send (/home/projectfolder/node_modules/express/lib/response.js:154:8)
at fn (/home/projectfolder/node_modules/express/lib/response.js:794:10)
at View.exports.renderFile [as engine] (/home/projectfolder/node_modules/jade/lib/jade.js:222:12)
at View.render (/home/projectfolder/node_modules/express/lib/view.js:76:8)
at Function.app.render (/home/projectfolder/node_modules/express/lib/application.js:504:10)
at ServerResponse.res.render (/home/projectfolder/node_modules/express/lib/response.js:798:7)
at /home/projectfolder/app/controllers/index.js:578:9
是否有人知道此错误的原因。我知道在发送响应后我们无法写入流,但我无法找到执行此写入操作的位置并且我收到此错误。我的 app/controllers/index.js 文件代码如下。请帮忙。
index.js
var request= require("request");
var crypto = require('crypto');
var env = process.env.NODE_ENV || 'development'
, config = require('../../config/config')[env]
var async=require("async");
exports.index = function(req, res){
//some code
var data=[];
async.parallel([
function(fncallback) {
// code here
data[0]="some data1";
},
function(fncallback) {
//code here
data[1]="some data2";
},
function(fncallback) {
// code here
data[2]="some data3";
},
function(fncallback) {
//code here
data[3]="some data4";
},
],function(err,responsedata){
/*some code*/
res.render('index', {
container1:data[0],
container2:data[1],
container3:data[2],
container4:data[3]
});
});
};
server.js
var http = require('http');
var fs = require('fs')
, passport = require('passport')
, utils = require('./utils');
var fs = require('fs')
var events = require('events')
var util = require('util')
var path = require('path')
var FsPool = module.exports = function(dir) {
events.EventEmitter.call(this)
this.dir = dir;
this.files = [];
this.active = [];
this.threads = 1;
this.on('run', this.runQuta.bind(this))
};
// So will act like an event emitter
util.inherits(FsPool, events.EventEmitter);
FsPool.prototype.runQuta = function() {
if(this.files.length === 0 && this.active.length === 0) {
return this.emit('done');
}
if(this.active.length < this.threads) {
var name = this.files.shift()
this.active.push(name)
var fileName = path.join(this.dir, name);
var self = this;
fs.stat(fileName, function(err, stats) {
if(err)
throw err;
if(stats.isFile()) {
fs.readFile(fileName, function(err, data) {
if(err)
throw err;
self.active.splice(self.active.indexOf(name), 1)
self.emit('file', name, data);
self.emit('run');
});
} else {
self.active.splice(self.active.indexOf(name), 1)
self.emit('dir', name);
self.emit('run');
}
});
}
return this
};
FsPool.prototype.init = function() {
var dir = this.dir;
var self = this;
fs.readdir(dir, function(err, files) {
if(err)
throw err;
self.files = files
self.emit('run');
})
return this
};
var fsPool = new FsPool(__dirname + '/public/')
fsPool.on('file', function(fileName, fileData) {
//console.log('file name: ' + fileName)
//console.log('file data: ', fileData.toString('utf8'))
})
fsPool.on('dir', function(dirName) {
//console.log('dir name: ' + dirName)
})
fsPool.on('done', function() {
//console.log('done')
});
fsPool.init()
var env = process.env.NODE_ENV || 'development'
, config = require('./config/config')[env]
, mongoose = require('mongoose');
/*******************************cluster code starts**************/
var cluster = require('cluster');
//cluster.schedulingPolicy = cluster.SCHEDRR;
var numCPUs = require('os').cpus().length;
//var numCPUs = 10;
console.log("no of cpus"+numCPUs);
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
require('./config/passport').localPassport(passport, config)
var app = express();
http.globalAgent.maxSockets = 5;
app.use(passport.initialize());
app.use(passport.session());
require('./config/express')(app, config, passport);
require('./config/routes')(app, passport);
exports = module.exports = app
}
/***********************************************************/
express.js
var express = require('express')
, flash = require('connect-flash');
var MongoStore = require('connect-mongo')(express);
var env = process.env.NODE_ENV || 'development'
, config = require('./config')[env];
module.exports = function (app, config, passport) {
app.set('showStackError', true)
// should be placed before express.static
app.use(express.compress({
filter: function (req, res) {
return /json|text|javascript|css/.test(res.getHeader('Content-Type'))
},
level: 9
}))
app.use(express.favicon());
app.enable('view cache');
var oneYear = 31557600000;
app.use(express.static(config.root + '/public',{ maxAge: oneYear }))
//console.log(config.root);
// don't use logger for test env
if (process.env.NODE_ENV !== 'test') {
app.use(express.logger('dev'))
}
// set views path, template engine and default layout
app.set('views', config.root + '/app/views')
app.set('view engine', 'jade')
app.configure(function () {
app.use(express.cookieParser())
app.use(express.session({
secret: '***********',
// 2 * 60 * 60 * 1000
cookie: {
expires: new Date(Date.now() + 7200000)
},
saveUninitialized: false, // don't create session until something stored
resave: false, //don't save session if unmodified
store: new MongoStore({
host: 'hostname', // Default, optional
port: portno, // Default, optional
db: 'db_name', // Required
auto_reconnect:true,
w: 1, // Default,
ssl: false, // Default
ttl: 15 * 24 * 60 * 60, // = 15 days. Default
touchAfter: 24 * 3600, // time period in seconds
autoRemove: 'interval',
autoRemoveInterval: 10, // In minutes. Default
}, function(e) {
// Start the app by listening on <port>
var port = process.env.PORT || config.guiPort;
var server = app.listen(port, '192.168.1.104');
console.log('Express app started on port '+port);
})
}));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride())
//app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
//passport.authenticate('remember-me');
app.use(passport.authenticate('remember-me'));
app.use(flash());
// routes should be at the last
app.use(function(req,res,next){
res.locals.session = req.session;
next();
});
app.use(app.router)
})
// development env config
// to display nice formatted html
app.configure('development', function () {
app.locals.pretty = true
});
}
我找不到这个错误的原因,请帮助我。在此先感谢。
最佳答案
您在此对象声明中有错字:
res.render('index', {
container1:data[0];
container2:data[1];
container3:data[2];
container4:data[3];
});
应该是:
res.render('index', {
container1:data[0],
container2:data[1],
container3:data[2],
container4:data[3]
});
关于javascript - 错误 : Write After End Node. js,Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30395428/
我已经使用 vue-cli 两个星期了,直到今天一切正常。我在本地建立这个项目。 https://drive.google.com/open?id=0BwGw1zyyKjW7S3RYWXRaX24tQ
您好,我正在尝试使用 python 库 pytesseract 从图像中提取文本。请找到代码: from PIL import Image from pytesseract import image_
我的错误 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference
我已经训练了一个模型,我正在尝试使用 predict函数但它返回以下错误。 Error in contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]])
根据Microsoft DataConnectors的信息我想通过 this ODBC driver 创建一个从 PowerBi 到 PostgreSQL 的连接器使用直接查询。我重用了 Micros
我已经为 SoundManagement 创建了一个包,其中有一个扩展 MediaPlayer 的类。我希望全局控制这个变量。这是我的代码: package soundmanagement; impo
我在Heroku上部署了一个应用程序。我正在使用免费服务。 我经常收到以下错误消息。 PG::Error: ERROR: out of memory 如果刷新浏览器,就可以了。但是随后,它又随机发生
我正在运行 LAMP 服务器,这个 .htaccess 给我一个 500 错误。其作用是过滤关键字并重定向到相应的域名。 Options +FollowSymLinks RewriteEngine
我有两个驱动器 A 和 B。使用 python 脚本,我在“A”驱动器中创建一些文件,并运行 powerscript,该脚本以 1 秒的间隔将驱动器 A 中的所有文件复制到驱动器 B。 我在 powe
下面的函数一直返回这个错误信息。我认为可能是 double_precision 字段类型导致了这种情况,我尝试使用 CAST,但要么不是这样,要么我没有做对...帮助? 这是错误: ERROR: i
这个问题已经有答案了: Syntax error due to using a reserved word as a table or column name in MySQL (1 个回答) 已关闭
我的数据库有这个小问题。 我创建了一个表“articoli”,其中包含商品的品牌、型号和价格。 每篇文章都由一个 id (ID_ARTICOLO)` 定义,它是一个自动递增字段。 好吧,现在当我尝试插
我是新来的。我目前正在 DeVry 在线学习中级 C++ 编程。我们正在使用 C++ Primer Plus 这本书,到目前为止我一直做得很好。我的老师最近向我们扔了一个曲线球。我目前的任务是这样的:
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
我的网站中有一段代码有问题;此错误仅发生在 Internet Explorer 7 中。 我没有在这里发布我所有的 HTML/CSS 标记,而是发布了网站的一个版本 here . 如您所见,我在列中有
如果尝试在 USB 设备上构建 node.js 应用程序时在我的树莓派上使用 npm 时遇到一些问题。 package.json 看起来像这样: { "name" : "node-todo",
在 Python 中,您有 None单例,在某些情况下表现得很奇怪: >>> a = None >>> type(a) >>> isinstance(a,None) Traceback (most
这是我的 build.gradle (Module:app) 文件: apply plugin: 'com.android.application' android { compileSdkV
我是 android 的新手,我的项目刚才编译和运行正常,但在我尝试实现抽屉导航后,它给了我这个错误 FAILURE: Build failed with an exception. What wen
谁能解释一下?我想我正在做一些非常愚蠢的事情,并且急切地等待着启蒙。 我得到这个输出: phpversion() == 7.2.25-1+0~20191128.32+debian8~1.gbp108
我是一名优秀的程序员,十分优秀!