Javascript 需要一种在couchbase DB调用后设置res对象的方法;错误:Can';t在发送后设置标题";
我得到的错误是: 错误:发送头后无法设置头。 在ServerResponse.OutgoingMessage.setHeader(_http_outgoing.js:346:11) 有人能在这里解释一下这个问题吗(不仅仅是解决方案) 我添加了console.log,这里的问题是couchbase调用asyncRemoveJavascript 需要一种在couchbase DB调用后设置res对象的方法;错误:Can';t在发送后设置标题";,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我得到的错误是: 错误:发送头后无法设置头。 在ServerResponse.OutgoingMessage.setHeader(_http_outgoing.js:346:11) 有人能在这里解释一下这个问题吗(不仅仅是解决方案) 我添加了console.log,这里的问题是couchbase调用asyncRemovenext()调用导致了此错误。next()在中间件中用于将流传递到下一个中间件或端点/路由 var express = require('express'); var sear
next()
调用导致了此错误。next()在中间件中用于将流传递到下一个中间件或端点/路由
var express = require('express');
var search = express.Router();
search.get('/', function(req, res, next) {
console.log('1');
dbCall(function(error, result) {
if (error) {
res.status(404).json();
} else {
res.json(result);
}
});
console.log('last');
next();
});
var dbCall = function(callback) {
var couchbase = require('couchbase');
var cluster = new couchbase.Cluster('couchbase://127.0.0.1');
var bucket = cluster.openBucket('default');
var doc;
var ViewQuery = couchbase.ViewQuery;
var query = ViewQuery.from('dev_test', 'allData');
bucket.query(query, function(err, viewResults) {
if (err) {
callback(err, null);
} else {
console.log('inqueryCall');
var results = viewResults;
callback(null, results);
console.log(results);
}
});
};
module.exports = search;
删除导致此错误的next()
调用。next()在中间件中用于将流传递到下一个中间件或端点/路由
var express = require('express');
var search = express.Router();
search.get('/', function(req, res, next) {
console.log('1');
dbCall(function(error, result) {
if (error) {
res.status(404).json();
} else {
res.json(result);
}
});
console.log('last');
next();
});
var dbCall = function(callback) {
var couchbase = require('couchbase');
var cluster = new couchbase.Cluster('couchbase://127.0.0.1');
var bucket = cluster.openBucket('default');
var doc;
var ViewQuery = couchbase.ViewQuery;
var query = ViewQuery.from('dev_test', 'allData');
bucket.query(query, function(err, viewResults) {
if (err) {
callback(err, null);
} else {
console.log('inqueryCall');
var results = viewResults;
callback(null, results);
console.log(results);
}
});
};
module.exports = search;
已经有一段时间了,但是一旦你处理(并响应)了请求,你真的应该调用
next
?是的,正在努力删除它。谢谢。已经有一段时间了,但是一旦你处理(并响应)了请求,你真的应该给下一个打电话吗。谢谢