Я использую Firestore в приложении, над которым я работаю.При подключении к интернету работает нормально.Когда нет подключения к Интернету, я хочу знать, что он не подключен, и / или иметь возможность контролировать время ожидания.При попытке загрузить изображение с неподключенным интернетом я получаю ответ через 718 секунд.Как я могу проверить через Flutter / Firestore, подключен ли интернет и как я могу предотвратить такой длительный тайм-аут?Пожалуйста, обратите внимание: код работает нормально, когда онлайн.Соответствующий код ниже:
_stopwatch.start();
print("Waiting for storage ref");
final StorageReference storageRef =
FirebaseStorage.instance.ref().child(
'$sFilename.jpg');
print("Putting file");
final StorageUploadTask uploadTask =
storageRef.putFile(imageFile);
print("waiting for snapshot");
final StorageTaskSnapshot snapshot = (await
uploadTask.onComplete);
print("Waiting for download url");
var vImageUrl = (await
snapshot.ref.getDownloadURL());
} catch (vError) {
_stopwatch.stop;
_sLastError =
"${getDateTime()} uploadImage: Elapsed:
${_stopwatch.elapsedMilliseconds ~/ 1000} seconds,
Size = $iSize, Error = ${vError.toString()}";
_logError(_sLastError);
throw (_sLastError);
}
The response on screen is as follows:
Waiting for storage ref
I/flutter (15999): Putting file
I/flutter (15999): waiting for snapshot
I/flutter (15999): EVENT StorageTaskEventType.progress
I/flutter (15999): EVENT StorageTaskEventType.progress
I/flutter (15999): EVENT StorageTaskEventType.failure
I/flutter (15999): Waiting for download url
I/flutter (15999): Image upload failed
I/flutter (15999): FirestoreService: 163 2019-05-11
00:28 uploadImage: Elapsed: 718 seconds, Size =
49302, Error = PlatformException(download_error,
The operation retry limit has been exceeded., null)