@@ -29,6 +29,7 @@ final class TurboImageView : UIView {
2929 }
3030
3131 private var imageRequest : ImageRequest ?
32+ private var requestInFlight : Bool = false
3233
3334 @objc var onStart : RCTDirectEventBlock ?
3435 @objc var onProgress : RCTDirectEventBlock ?
@@ -137,13 +138,13 @@ final class TurboImageView : UIView {
137138 }
138139
139140 @objc var enableLiveTextInteraction : Bool = false
140-
141+
141142 @objc var isProgressiveImageRenderingEnabled : Bool = true {
142143 didSet {
143144 lazyImageView. isProgressiveImageRenderingEnabled = isProgressiveImageRenderingEnabled
144145 }
145146 }
146-
147+
147148 @objc var format : NSString ? {
148149 didSet {
149150 guard let format = format as? String else { return }
@@ -218,12 +219,16 @@ fileprivate extension TurboImageView {
218219 }
219220
220221 @objc func cancelRequest( ) {
221- lazyImageView. cancel ( )
222+ if requestInFlight {
223+ lazyImageView. cancel ( )
224+ }
222225 }
223226
224227 @objc func reloadRequest( ) {
225- lazyImageView. reset ( )
226- reloadImage ( )
228+ if requestInFlight {
229+ lazyImageView. reset ( )
230+ reloadImage ( )
231+ }
227232 }
228233}
229234
@@ -334,6 +339,7 @@ fileprivate extension TurboImageView {
334339
335340 func registerObservers( ) {
336341 lazyImageView. onStart = { task in
342+ self . requestInFlight = true
337343 self . onStartHandler ( with: task)
338344 }
339345
@@ -342,6 +348,7 @@ fileprivate extension TurboImageView {
342348 }
343349
344350 lazyImageView. onSuccess = { response in
351+ self . requestInFlight = false
345352 self . onSuccessHandler ( with: response)
346353 }
347354
0 commit comments