сбой приложения флаттера при низком или отсутствии сетевого подключения - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть этот IconButton, который, когда я нажимаю, обновляет поле в моей облачной базе данных Firestore. У меня нет проблем, если есть исправное интернет-соединение, как бы то ни было, нет сети или низкий сигнал, я получаю тайм-аут ошибка, и это приводит к сбою приложения. Я поместил функцию в блок 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());
                  }
                 },

1 Ответ

0 голосов
/ 14 сентября 2018

Вы должны проверить доступность интернета или Wi-Fi или нет, для этого просто добавьте возможность подключения: ^ 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');
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...