Skip to content

Commit 76d41df

Browse files
authored
Merge pull request #406 from duguyihou/403-bug-refresh-too-frequently
fix: only cancel in flight requests when entering background
2 parents 42deef0 + bfa73b1 commit 76d41df

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

ios/TurboImageView.swift

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)