Your result variable is out of scope.
Define var result;
outside of your response.on
then set result = reply.getAuthjwt()
.
Otherwise, I believe that you should be able to return response.on
and just return reply.getAuthjwt()
within your function.
const signIn = async (password) => {
var request = new DeviceAuthQuery();
request.setPassword(password);
var response = client.authenticate(request, {}, (err, response) => {
console.log("Request Sent 1111");
});
return response.on('data', function(reply) {
console.log("Data Received 2222");
console.log('Data: 22222'+ reply.getAuthjwt());
return reply.getAuthjwt()
});
}
export {
signIn
};
or
const signIn = async (password) => {
var result;
var request = new DeviceAuthQuery();
request.setPassword(password);
var response = client.authenticate(request, {}, (err, response) => {
console.log("Request Sent 1111");
});
response.on('data', function(reply) {
console.log("Data Received 2222");
console.log('Data: 22222'+ reply.getAuthjwt());
result = reply.getAuthjwt()
});
return result;
}
export {
signIn
};
I also wonder if you can use
const signIn = async (password) => {
var result;
var request = new DeviceAuthQuery();
request.setPassword(password);
client.authenticate(request, {}, (err, response) => {
response.on('data', function(reply) {
console.log("Data Received 2222");
console.log('Data: 22222'+ reply.getAuthjwt());
result = reply.getAuthjwt()
});
});
return result;
}
export {
signIn
};