为什么浏览器中没有输出?

这是我的代码:

var http = require('http') http.createServer(function (req, res) { res.writeHead(200, { "Content-Type": "json" }); fs.readdir('.', function (error, files) { if (error) res.end(util.format(error)) files.forEach(function (file) { fs.stat(file, function (erro, stats) { console.log(JSON.stringify(stats)) res.write(JSON.stringify(stats)) }) }) }) }).listen(3000); console.log("server is running!") 

当我访问http://127.0.0.1:3000/ ,没有输出,但控制台输出是:

 {"dev":0,"mode":16822,"nlink":1,"uid":0,"gid":0,"rdev":0,"ino":0,"size":0,"atime":"2014-11-20T13:36:19.000Z","mtime":"2014-11-20T13:36:19.000Z","ctime":"2014-11-20T13:31:53.000Z"} {"dev":0,"mode":33206,"nlink":1,"uid":0,"gid":0,"rdev":0,"ino":0,"size":11,"atime":"2014-11-20T13:56:21.000Z","mtime":"2014-11-20T13:56:21.000Z","ctime":"2014-11-20T13:56:21.000Z"} {"dev":0,"mode":33206,"nlink":1,"uid":0,"gid":0,"rdev":0,"ino":0,"size":844,"atime":"2014-11-20T14:24:04.000Z","mtime":"2014-11-20T14:24:04.000Z","ctime":"2014-11-20T13:32:19.000Z"} {"dev":0,"mode":16822,"nlink":1,"uid":0,"gid":0,"rdev":0,"ino":0,"size":0,"atime":"2014-11-20T14:03:56.000Z","mtime":"2014-11-20T14:03:56.000Z","ctime":"2014-11-20T13:56:21.000Z"} 

当您完成res.write调用时,您需要调用res.end()

 http.createServer(function (req, res) { res.writeHead(200, { "Content-Type": "json" }); fs.readdir('.', function (error, files) { if (error) res.end(util.format(error)) var filesLeft = files.length; files.forEach(function (file) { fs.stat(file, function (erro, stats) { console.log(JSON.stringify(stats)) res.write(JSON.stringify(stats)) // Keep track of how many files' fs.stat calls are left if (--filesLeft === 0) { res.end(); } }) }) }) }).listen(3000);