Как создать Node.js служба, которая загружает содержимое страницы по запросу и возвращает результаты?

#node.js #request

#node.js #запрос

Вопрос:

Как я могу создать Node.js служба, которая загружает содержимое страницы по запросу и возвращает результаты? Рассмотрим следующий экспресс app.js:

 app.get('/service/:url', (req, res) => res.send(downloadPage(req.params.url)));

function getPage(address) {
    const request = require('request')

    return new Promise((resolve, reject) => {
        request(address, (error, response, body) => {
         if (error) reject(error);
         if (response.statusCode !== 200) {
             reject('Invalid status code <'   response.statusCode   '>');
         }
         resolve(body);
      });
   });
}

async function sendRequest(address) {
    try {
        return await getPage(address)
    } catch (error) {
        console.error(error);
        return 'ERROR';
    }
}

function downloadPage(address){
    return `enter code here`sendRequest(address)
}
  

Ответ №1:

Возможное решение:

 app.get('/service/:url', (req, res) => downloadPage(req.params.url).then(function (result){
    res.send(result)
}).catch(err => res.send(err)));