Firebase和完成处理程序 [英] Firebase and Completion handler

查看:38
本文介绍了Firebase和完成处理程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在使用Firebase来检索用户信息.收到数据后,我想在所有闭包之外使用该数据,那么我将创建一个完成块,问题是我无法将完成变量添加到结果中,因为结果位于另一个闭包中.如何解决这个问题.预先感谢您的帮助.

Im currently using firebase to retrieve user info. once I receive the data I want to use the data outside of all closure the I create a completion block the problem is that I can not add the completion variable to the result because the result is inside another closure. How can fix this problem. Thank you in advance for the help.

 func userInfo(userId:String,completion:(result:String)->Void){


        fireBaseAPI().childRef("version_one/frontEnd/users/\(fireBaseAPI().currentUserId()!)/email").observeEventType(.Value, withBlock: {snapshot in

            let email = snapshot.value as! String

            //this is incorrect because it is inside a firebase closure how can I make it work I know i have it outside the closure but i will not be able to retrieve the info from firebase
            result = email

        })




    }

推荐答案

据我所知,您的问题:: ---

As far as i could understand your problem ::---

您希望在 completionBlock:中发送用户的emailID,但我仍然不知道 fireBaseAPI()是什么:-

You want to send the emailID of your user in the completionBlock: once retrieved, But i still don't have any idea to what fireBaseAPI() is :-

func userInfo(userId:String,completion:((result:String)->Void){
fireBaseAPI().childRef("version_one/frontEnd/users/\(fireBaseAPI().currentUserId()!)/email").observeEventType(.Value, withBlock: {snapshot in

        let email = snapshot.value as! String
        completion(result:email)
    })
}

这篇关于Firebase和完成处理程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆