@@ -74,7 +74,7 @@ class CachedNetworkImageProvider
7474 DecoderBufferCallback decode,
7575 ) {
7676 final chunkEvents = StreamController <ImageChunkEvent >();
77- return MultiImageStreamCompleter (
77+ final imageStreamCompleter = MultiImageStreamCompleter (
7878 codec: _loadBufferAsync (key, chunkEvents, decode),
7979 chunkEvents: chunkEvents.stream,
8080 scale: key.scale,
@@ -86,6 +86,19 @@ class CachedNetworkImageProvider
8686 );
8787 },
8888 );
89+
90+ if (errorListener != null ) {
91+ imageStreamCompleter.addListener (
92+ ImageStreamListener (
93+ (image, synchronousCall) {},
94+ onError: (Object error, StackTrace ? trace) {
95+ errorListener? .call (error);
96+ },
97+ ),
98+ );
99+ }
100+
101+ return imageStreamCompleter;
89102 }
90103
91104 @Deprecated ('_loadBufferAsync is deprecated, use _loadImageAsync instead' )
@@ -116,7 +129,7 @@ class CachedNetworkImageProvider
116129 ImageDecoderCallback decode,
117130 ) {
118131 final chunkEvents = StreamController <ImageChunkEvent >();
119- return MultiImageStreamCompleter (
132+ final imageStreamCompleter = MultiImageStreamCompleter (
120133 codec: _loadImageAsync (key, chunkEvents, decode),
121134 chunkEvents: chunkEvents.stream,
122135 scale: key.scale,
@@ -128,6 +141,19 @@ class CachedNetworkImageProvider
128141 );
129142 },
130143 );
144+
145+ if (errorListener != null ) {
146+ imageStreamCompleter.addListener (
147+ ImageStreamListener (
148+ (image, synchronousCall) {},
149+ onError: (Object error, StackTrace ? trace) {
150+ errorListener? .call (error);
151+ },
152+ ),
153+ );
154+ }
155+
156+ return imageStreamCompleter;
131157 }
132158
133159 Stream <ui.Codec > _loadImageAsync (
0 commit comments