1

In node.js I'm using deasync to return the result of a request query.

var request = require('request');
var deasync = require("deasync");

const URL_1 = "...", URL_2 = "...", USER_AGENT = "...";

function getHtml() {
  function requrl(url, form) {
    return {
      url: url,
      headers: {'User-Agent': USER_AGENT},
      form: form,
      jar: true
    }
  }
  var form = {email:"email@geemail.com", password:"thepass"};
  var resp;

  request.post(requrl(URL_1, form), function (error, response, body) {
    if (error || response.statusCode != 200) { 
      resp = error;
    } else {
      request(requrl(URL_2), function (error, response, body) {
        console.log(response); // <- this makes it work
        if (error || response.statusCode != 200)
          resp = error;
        else
          resp = body;
      })
    }
  })

  while (resp === undefined) deasync.runLoopOnce();
  return resp;
}

This works fine. But if i remove this line: console.log(response); it never returns. I have no idea what is going on.

ariel
  • 15,620
  • 12
  • 61
  • 73

0 Answers0