Firebase从异步调用返回布尔值

时间:2016-07-06 07:13:36

标签: ios swift firebase firebase-authentication

我正在尝试让firebase fetchProvidersForEmail在完成闭包之外设置一个布尔值,但我不确定该请求是如何异步的。这就是我所拥有的:

FIRAuth.auth()?.fetchProvidersForEmail(emailSignUpTextField.text!, completion:{(providers, error) in
        if error != nil{
            print(error)

            if error!.code == FIRAuthErrorCode.ErrorCodeInvalidEmail.rawValue{
                self.showErrorAlert("Invalid Email", msg: "Please input a valid email.")
            }
        }
        else{
            //If there are no errors and there are providers, the email exists
            if providers != nil{
                self.showErrorAlert("Email in Use", msg: "There is already an account   created with that email.")
            }
            //The email does not exist
            else{
                self.segueBool = true          
                print("it works")
            }
        }
    })

self.segueBool是我需要设置为true,如果没有错误。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用该布尔值设置全局final / static变量, 并在firebase回调之前创建该变量的监听器(这将帮助您像"同步")

这样,当设置变量时,您可以处理更改。