Как вытащить данные из функции?
Никак не вернуть, это асинхронная функция, которая, судя по контексту, еще и выполняется неопределенное количество раз.Тут должно быть описание стандартных инструментов решения таких задач - промисов и колбэков, но я задолбался повторять одно и то же несколько раз в день.
Зачем? Только еслиvar data = null
ws.$on('$message', function(result){
   data = result
});