我正在将Firebase Auth集成到我的应用中。我必须设置一个界面以使用平台特定的代码(iOS和Android)来创建用户。我在iOS“ CreateNewUser”中的界面方法调用了创建新用户的“ Auth.DefaultInstance.CreateUser”方法。如何从本地函数中获取“ userID”变量,作为更大的“ CreateNewUser”函数的返回值?
public string CreateNewUser(string email, string password)
{
Console.WriteLine("hhhhh");
string userId = "";
Auth.DefaultInstance.CreateUser(email, password,(authResult, error) => {
Console.WriteLine("idd is " + authResult.User.Uid);
userId = authResult.User.Uid;
});
return userId;
}
答案 0 :(得分:1)
我通常使用TaskCompletionSource
使其正常工作。
public Task<string> CreateNewUser(string email, string password)
{
TaskCompletionSource<string> tcs = new TaskCompletionSource<string>();
Auth.DefaultInstance.CreateUser(email, password,(authResult, error) => {
Console.WriteLine("idd is " + authResult.User.Uid);
tcs.SetResult(authResult.User.Uid);
});
return tcs.Task;
}
然后您可以执行await CreateNewUser("bla","bla");