我正在使用node.js运行以下脚本并在localhost:3100上观察输出。
它输出“livingThings”交叉过滤器及其中的所有数据,但当我注释掉res.end行并使用下一行来查看“typeDimension”维度中的内容时,我只是得到空括号。 / p>
为什么我的crossfilter维度中没有任何数据?
var http = require('http');
var url = require('url');
var cf = require('./crossfilter.js');
var livingThings = cf([
{ name: "Rusty", type: "human", legs: 2 },
{ name: "Alex", type: "human", legs: 2 },
{ name: "Lassie", type: "dog", legs: 4 },
]);
var typeDimension = livingThings.dimension(function(d) { return d.legs; });
http.createServer(function (req, res) {
var requrl = (url.parse(req.url, true));
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(JSON.stringify(livingThings.all()));
//res.end(JSON.stringify(typeDimension.filterAll()));
}
).listen(3100, function(){
});
答案 0 :(得分:0)
你永远不会看到第二个res.end中的任何内容,因为res.end正在关闭请求,你已经关闭了它。尝试使用res.send是否要传递内容,并在想要结束请求并发送响应时重新发送。并且,不要通过res.end传递任何数据,这是一个坏习惯。