var request = require('request');
request("http://example.com/index.php?username=username&password=password, function (error, response, body) {
var n1 = body.search('<user>');
var n2 = body.search('</user>');
var final = body.slice(n1+6, n2);
//it is working perfectly here.
final10 = final;
});
//The problem is that i can not call the "body" or variable "Final10" outside the Scope.
var final10=request.body
Hi, I am Newbie in Node JS. I am trying to make a Experimental Bot. i am using "request" to send a "Get" to my website. there through "Php", it is getting saved in "Mysqli" database.
Everything is working fine and i am getting the result. but, as i had got the data required, i can not access it. How can i get access to the 'body' of 'Request' from outside the function?
Please refer above to the code
Is there any way, to call it outside of it? that i can manage my code more easily
Please Note: it is just a little snap of the code the real code. the real code got a lot of if/else, loops and other functions. Turing it into bracket under brackets will be little complicated.
Thankyou
So the request function is asynchronous, which means that you call
request("http://...")and node js fires that function, and then skips to the next line without waiting for it to finish. So if you had:You would see
2logged before1. Which brings us to the function that is the second argument of request: the callback function. You are passing in a function for request to call, once it has finished making the api request to your url. So if we change the above example to:You would see
1logged before2.Request takes the function you pass in and injects the parameters: error, response and body which you can work with inside the callback function.
Because you are working with request through a callback function here, which gets called asynchronously, you can only use
bodywithin the callback function.You need to access the body within the scope of the callback function.