Я пишу простой обработчик запросов, чтобы вернуть пару css файлов. Использование fs.readFileSync было легко. Тем не менее, мне трудно выполнить ту же задачу, используя асинхронную версию readFile. Ниже мой код. Наличие вызовов метода response.write(), разделенных между двумя разными обратными вызовами, кажется проблематичным. Может кто-нибудь указать, что я сделал неправильно? Интересно, что этот код работает, если я положил response.end() внутри оператора else else. Однако это создает проблему в том, что второй файл css не возвращается (поскольку response.end() уже запущен).
function css(response) {
response.writeHead(200, {"Content-Type": "text/css"});
fs.readFile('css/bootstrap.css', function(error, content){
if(error){
console.log(error);
}
else{
response.write(content);
}
});
fs.readFile('css/bootstrap-responsive.css', function(error, content){
if(error){
console.log(error);
}
else{
response.write(content)
}
});
response.end();
}