class ViewController: UIViewController {
    //.....
    var friendId: String!
    userID = "098752"
    let Path = ref.child("user/\(userID)/friend/userId")
       Path.observeSingleEvent(of: .value, with: { (snapshot) in
           self.friendId = snapshot.value as? String
           print(self.friendId!)  //ここでは正しく表示される
       }) { (error) in
           print(error.localizedDescription)
       }
   print(self.friendId)  //ここでは値がうまくセット出来てない
}

この処理でデータの取得まではできているんですが、(print(self.friendId!)はコンソール上に正しく表示されます)この処理のあと、self.guideIdを呼び出すことができません。

この取得したself.friendIdを別のデータ取得の際のパスの指定に使いたいのですが↓

 let namePath = ref.child("user/\(self.friendId)/name")
    namePath.observeSingleEvent(of: .value, with: { (snapshot) in
        self.friendNameLabel.text = snapshot.value as? String
    }) { (error) in
        print(error.localizedDescription)
    }

何が問題かわかる方いらっしゃいましたら教えていただきたいです。。。
swiftを初めて間もないので、すごいくだらない質問になっていたらすみません、、!