Ах, радости изучения асинхронных js в узле в первый раз: 3
Как уже упоминалось @Mark_M, ваша функция в запросе вызывается только после обработки запроса. В результате вы не можете вернуть переменную из функции verifyUser (). verifyUser () возвращается сразу после того, как отправил запрос, и вызывает функцию request () после получения ответа.
В идеале вы должны следовать асинхронному потоку, предоставляя функцию обратного вызова:
//We'll define some function called 'callback'
function verifyUser(uname,pword, callback){
var options = {
url: 'CENSORED',
method: 'POST',
headers: headers,
form: {'Username':uname, 'Password':pword, 'Key':key}
}
request(options,callback);
// Here I've changed your inline callback function to the one passed to verifyUser as an argument.
}
// Then, your main code:
verifyuser("RobDeFlop","CENSORED", next);
function next(error,response,body){
if(!error && response.statusCode == 200){
//Do useful stuff with the body here.
}
})
}