首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道Firebase是否是第一次登录?数据存在吗?

我如何知道Firebase是否是第一次登录?数据存在吗?
EN

Stack Overflow用户
提问于 2019-01-25 15:53:04
回答 1查看 77关注 0票数 0

这是Firebase匿名登录代码。

我想知道如何编写if(????)

当我读取数据时,我认为如果没有数据,它将是null。

DBreference.Child("UserData").Child(fireUser .UserId).GetValueAsync()

此代码不为空

代码语言:javascript
复制
auth = FirebaseAuth.DefaultInstance;
DBreference = FirebaseDatabase.DefaultInstance.RootReference;
User userData = null; // User class include userdata

auth.SignInAnonymouslyAsync().ContinueWith(task =>
{
 fireUser = task.Result;
 //Always automatically login success

 //This part is read Data from Firebase.Database
 DBreference.Child("UserData").Child(fireUser.UserId).
 GetValueAsync().ContinueWith(task2 => 
 {
     if(????) // data dosen't exist
     {
         userData = new User();
         string jsonString = JsonFx.Json.JsonWriter.Serialize(userData);
         DBreference.Child("UserData").Child(fireUser.UserId).
         SetRawJsonValueAsync(jsonString);
     }
     else // data exists
     { 
         jsonString = task2.Result.GetRawJsonValue();
         userData = JsonFx.Json.JsonReader.Deserialize<User>(jsonString);            
     }
 });
});
EN

回答 1

Stack Overflow用户

发布于 2019-01-25 16:05:57

好的,在读完你的评论后,我现在明白了你需要交换if/else之后你是什么

代码语言:javascript
复制
auth = FirebaseAuth.DefaultInstance;
DBreference = FirebaseDatabase.DefaultInstance.RootReference;

auth.SignInAnonymouslyAsync().ContinueWith(task =>
{
 fireUser = task.Result;

 if(task.IsFaulted) // user doesn't exist
 { 
   userData = new User(); 
   string jsonString = JsonFx.Json.JsonWriter.Serialize(userData);
   DBreference.Child("UserData").Child(fireUser .UserId).           
   SetRawJsonValueAsync(jsonString);
 }
 else //user exists
 {
    DBreference.Child("UserData").Child(fireUser .UserId).
    GetValueAsync().ContinueWith(task3 =>
    {
        jsonString = task3.Result.GetRawJsonValue();      
        userData = JsonFx.Json.JsonReader.Deserialize<User>(jsonString);
    });
 }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54361043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档