From a5e3fbaee569a540e3702696173ade34ff9fea32 Mon Sep 17 00:00:00 2001 From: nyne Date: Sun, 4 May 2025 22:24:39 +0800 Subject: [PATCH] Improve image loading --- lib/network/images.dart | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/lib/network/images.dart b/lib/network/images.dart index 449542d..26189f7 100644 --- a/lib/network/images.dart +++ b/lib/network/images.dart @@ -234,19 +234,30 @@ class _StreamWrapper { } void _listen() async { - await for (var data in _stream) { - if (isClosed) { - break; - } - for (var controller in controllers) { - if (!controller.isClosed) { - controller.add(data); + try { + await for (var data in _stream) { + if (isClosed) { + break; + } + for (var controller in controllers) { + if (!controller.isClosed) { + controller.add(data); + } } } } - for (var controller in controllers) { - if (!controller.isClosed) { - controller.close(); + catch (e) { + for (var controller in controllers) { + if (!controller.isClosed) { + controller.addError(e); + } + } + } + finally { + for (var controller in controllers) { + if (!controller.isClosed) { + controller.close(); + } } } controllers.clear();