Все ли операции, зависимые на ответ, должны быть синхронны?

К примеру программа отослала запрос на сервер и ждет от него ответа. На сервере же имеется асинхронная функция чтения. В этом случае ответ будет получен 2 раза или 3 раза? Сначала ответ с пустой строкой, а затем еще 1 ответ с содержимым прочитанного файла? или же сначала ответ с пустой строкой, затем ответ с содержимым прочитанного файла и затем ответ с пустой строкой???

Пример:

https.createServer((req, res) => {
    req.on("data", data => {
        fs.readFile("./123.txt", "utf8", (err, data)=>{
            if(!err){
                 res.end(data);
            }
        }
    }
res.end("");
});

Ответы (0 шт):