当网络连接较少或没有网络连接时,应用程序崩溃

问题描述 投票:0回答:1

我有这个IconButton,当我按它更新我的云Firestore DB上的字段。如果有健康的互联网连接,我没有任何问题,如果没有网络或低信号我得到一个超时错误,这导致应用程序崩溃。我已经将函数包装在try {} catch {}块中,但仍然没有帮助。

 onPressed: (){
                 try{
                  Firestore.instance.runTransaction((Transaction thistransaction)async{
                  DocumentSnapshot docSnapshot = await thistransaction
                  .get(snapshotDocuments[index].reference);
                  await thistransaction.update(docSnapshot.reference,
                   {'voteUpBool':!docSnapshot['voteUpBool']});

                  });
                }
                 catch(err){
                    print(err.toString());
                  }
                 },
firebase dart flutter google-cloud-firestore
1个回答
1
投票

你必须检查互联网或无线网络是否只是添加连接:^ 0.3.1依赖与最新版本,并按照下面的代码。

import 'dart:io';
...
try {
   final result = await InternetAddress.lookup('google.com');
   if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
       print('connected');
   }
 } on SocketException catch (_) {
    print('not connected');
 }
© www.soinside.com 2019 - 2024. All rights reserved.