Из асинхронной функции невозможно вернуть значение, потому что на момент выхода из неё оно ещё не определено.
Вы можете:
- Вернуть промис, который будет возвращать значение
- Принимать в асинхронную функцию другую функцию и вызывать её при получении результата, передавая его в качестве аргумента.
- Сделать запрос синхронным и писать результат в глобальную переменную.
- Использовать синтаксис async/await, если у вас свежая версия Node.
Первый вариант более современный и гибкий, второй более простой для понимания. По обоим вариантам есть масса информации, документации и уроков (подобный вопрос задаётся здесь ежедневно не по разу, поэтому не расписываю подробнее).
Третий вариант - кривой костыль и приведён только для полноты картины, не стоит так делать.
Чётвертый - это промисы для хипстеров, лучше использовать его тогда, когда вы хорошо умеете работать с промисами, чтобы случайно ничего себе не отстрелить.