首次使用Firestore在StreamBuilder上不存在数据

时间:2019-08-10 16:51:13

标签: firebase flutter google-cloud-firestore

我在Flutter应用程序上获得了以下代码。 每当我在新设备上运行它时,firestore中的数据在首次启动时都会返回“不存在”。如果我重新启动应用程序,它将按预期运行。 有人对可能发生的事情有任何暗示吗?

return StreamBuilder<DocumentSnapshot>(
  stream: _firebaseStream,
  builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {  
    print('snapshot state = ${snapshot.connectionState.toString()}');
    if (snapshot.hasError) {
      return Center(child: Text('Error: ${snapshot.error}'));
    }      

    if (!snapshot.hasData) {
      print('!snapshot.hasData');
      return CircularProgressIndicator();
    } 

    if (!snapshot.data.exists) {
      print('not snapshot.data.exists');
      return CircularProgressIndicator();
    }     

    switch (snapshot.connectionState) { 
      case ConnectionState.none:
      case ConnectionState.waiting:
        return CircularProgressIndicator();
      default:   
        ... do stuff

      }
  });

第一次运行,我总是永远拥有状态和CircularProgressIndicator。

 "snapshot state = ConnectionState.active"

 "not snapshot.data.exists"

感谢您的支持!

0 个答案:

没有答案