为什么这个承诺没有兑现?

时间:2020-09-28 13:28:59

标签: javascript node.js ecmascript-6

我正试图让this answer工作,但我只是得到

Promise { <pending> }

问题

任何人都可以找出问题所在吗?

const http = require('https')

httprequest().then((data) => {
  const response = {
    statusCode: 200,
    body: JSON.stringify(data),
  };
  return response;
});

function httprequest() {
  return new Promise((resolve, reject) => {
    const options = {
      host: 'encrypted.google.com',
      path: '/',
      port: 443,
      method: 'GET'
    };
    const req = http.request(options, (res) => {
      if (res.statusCode < 200 || res.statusCode >= 300) {
        return reject(new Error('statusCode=' + res.statusCode));
      }
      var body = [];
        res.on('data', function(chunk) {
        body.push(chunk);
      });
      res.on('end', function() {
      try {
        body = JSON.parse(Buffer.concat(body).toString());
      } catch(e) {
        reject(e);
      }
      resolve(body);
      });
    });
  })
}

console.log(httprequest())

0 个答案:

没有答案