I'm using request npm to get http pages. I have something like that
function callbackFunction1() {
var p = 'foo';
request(url, callbackFunction2);
}
function callbackFunction2(err, response, body){
}
How could I pass the variable p as parameter of the callbackFunction2?
I think you need to give all 3 parameters.
You can pass an anonymous function as second parameter like bellow
request(url, function(err, response, body){
callbackFunction2(err,response, body, p);
});
@facebook 's comment is they way to go.
Use bind
request(url, callbackFunction2.bind(p));
...
console.log(this); // p
Read @facebook 's link to see how to do it without messing this if it matters in your use case.
Try to define p as a global variable. This should work 99%
var p;
function callbackFunction1() {
p = 'foo';
request(url, callbackFunction2);
}
function callbackFunction2(err, response, body){
console.log(p)
}