Полный новичок в node.js здесь. Я где-то видел этот пример "hello world"
// Load the http module to create an http server.
var http = require('http');
// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);
// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");
Действительно простой код, в котором сервер отвечает на HTTP-запросы простым HTTP-ответом с простым текстом «Hello World».
Я также готов к библиотеке для выполнения HTTP-запросов из javascript.
http.get(options, function(resp){
resp.on('data', function(chunk){
//do something with chunk
});
}).on("error", function(e){
console.log("Got error: " + e.message);
});
Здесь вы делаете HTTP-запрос с некоторыми параметрами, а затем что-то делаете с ответом в обратном вызове.
Что произойдет, если сделать такой запрос API, когда HTTP-запрос придет на сервер node.js? Поскольку поток должен быть однопоточным, как можно изменить состояние ответа, который node.js отправляет клиенту в обратном вызове запроса HTTP API? Не будет ли к тому времени ответ отправлен в цикл обработки событий? Как можно смоделировать синхронные запросы в этой системе, чтобы можно было использовать ответ запроса API для отправки ответа клиенту?