У меня возник вопрос о ходе отправки с помощью запроса Node.js. У меня есть приложение Node.js, которое действует как прокси-сервер, фактически перенаправляя тело другому серверу. Я хочу видеть ход этого действия по загрузке. Теперь я делаю это:Node.js индикатор индикатора прогресса
BROWSER
-> UPLOAD TO NODE
-> UPLOAD TO 3rd PARTY SERVICE
-> RETURN 3rd PARTY RESPONSE TO BROWSER
Если это возможно, я хотел бы зарегистрировать ее, чтобы проверить в console.log сколько прогресс делается. Но, было бы также возможно вернуть
res.send(progress)
в то же время, во время ожидания загрузки, чтобы закончить и отправить клиенту обратно загрузка удалось?
BROWSER
-> UPLOAD TO NODE
-> UPLOAD TO 3rd PARTY SERVICE
-> RETURN progress <-
-> RETURN progress <-
...etc.
-> RETURN 3rd PARTY RESPONSE TO BROWSER
Это код загрузки (довольно простой).
var requestOptions = {
timeout: 120000,
url: url, //URL to hit
method: 'post',
headers: headers,
body: payload //Set the body as a string
};
request(requestOptions, function (error, response, body) {
if (error) {
res.send(error);
}
else {
//res.sendStatus(response.statusCode);
console.log("[RETURNING RESPONSE BODY]");
res.send(body);
}
});
использование 'res.write()' для отправки обновлений по запросу. Когда загрузка завершена, используйте 'res.end()' – AdityaParab