代码之家  ›  专栏  ›  技术社区  ›  Don Diego

从nodejs中带有promise的URL获取数据

  •  0
  • Don Diego  · 技术社区  · 5 年前

    我对nodejs很陌生,我正在尝试从URL获取数据并返回HTML页面。

    'use strict';
    
    const https = require('https');
    var mongoose = require('mongoose'),
    
    
    exports.operations = function(req, res) {
    var result;
        
        https.get('https://my/link', (res) => {
      
    
        res.on('data', (d) => {
            //process.stdout.write(d);
            result += d;
        });
    
        res.on('end', () => {
            console.log("HERE ", result);
          });
    
        }).on('error', (e) => {
        console.error(e);
        });
    

    不管怎样,我想如果我想把结果发送到html,在最后一个之前添加 }); 线路

    res.render('index', { title: 'Hey', message: JSON.stringify(result, null, 4) });
    

    然后我需要用承诺,比如 .then() 或者类似的。但是我完全不知道如何在nodejs上实现它(我知道如何在angularJS中实现)。

    我怎样才能让它工作?

    0 回复  |  直到 5 年前
        1
  •  1
  •   UsmanJ    5 年前

    我建议使用 Axios 用于http请求。

    axios.get('/user', {
        params: {
          ID: 12345
        }
      })
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      })
      .then(function () {
        // always executed
      });  
    
    推荐文章