Ваша проблема в том, что JavaScript асинхронный, поэтому вы не можете просто вернуть значение внутри асинхронной функции, вам нужно использовать обещание или обратный вызов:
record: function(userID, callback){
client.getProfile(userID).then((profile) => {
// return your name inside a callback function
callback(null, profile.displayName);
}).catch((err) => {
callback(err, null);
})
}
// Call your function and get return 'name'
record(userId, function(err, name) {
if (err) throw err;
console.log(name);
// Continue here
});
Я рекомендую вам прочитать эту статью Понимание асинхронного JavaScript для получения дополнительной информации
Надеюсь, это поможет.