在本教程中http://www.dotnetcurry.com/nodejs/1270/read-html-file-and-send-html-response-nodejs
//1.
var http = require('http');
var fs = require('fs');
//2.
var server = http.createServer(function (req, resp) {
//3.
if (req.url === "/create") {
fs.readFile("AppPages/MyPage.html", function (error, pgResp) {
if (error) {
resp.writeHead(404);
resp.write('Contents you are looking are Not Found');
} else {
resp.writeHead(200, { 'Content-Type': 'text/html' });
resp.write(pgResp);
}
resp.end();
});
} else {
//4.
resp.writeHead(200, { 'Content-Type': 'text/html' });
resp.write('<h1>Product Manaager</h1><br /><br />To create product please enter: ' + req.url);
resp.end();
}
});
//5.
server.listen(5050);
我不明白,因为readFile是异步的,为什么它会在页面需要很长时间加载的情况下可靠地工作?那么readSync是必要的还是允许等待页面完全读取的东西,即使文件非常大?
答案 0 :(得分:1)
它工作正常,因为只有在读取文件时才会执行readFile参数中定义的函数(此函数称为回调函数btw)。