Получить значение String из функции с закрытием в Swift

Я пытаюсь получить строковое значение из Firebase, чтобы получить каждое имя пользователя с уникальным UID, который передается функции, которая возвращает имя пользователя пользователя. Однако - так как пожарная базаObserveEvent вclosuresЯ не могу вернуть какое-либо значение обратно, потому что действия происходятасинхронный(?). Мне было интересно, если это был способ сделать это?

Функция выглядит так:

func GetUsername(uid:String) -> String {
    var username = String()
    firebase.child("Users").child(uid).observeSingleEventOfType(.Value) { (snapshot:FIRDataSnapshot) in

        username = snapshot.value!["Username"] as! String

    }

    return username
}

Очевидно, что это не работает, но я хочу иметь возможность получить данные, выполнив GetUsername ("whatevertheidmightbe"). Идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос