Skip to content

Commit 3baeeca

Browse files
authored
Avoid duplicate routing.json calls when presenting routing results card (#398)
1 parent 8d27826 commit 3baeeca

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

Sources/TripKitUI/view model/TKUIRoutingResultsViewModel+CalculateRoutes.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ extension TKUIRoutingResultsViewModel {
113113

114114
// When changing modes, force refresh
115115
let refresh: Observable<BuilderInput> = inputs.changedModes.asObservable()
116+
.debounce(.seconds(1), scheduler: MainScheduler.instance)
116117
.map { _ in (date: nil, search: nil, pin: nil, forceRefresh: true) }
117118

118119
// When changing date, switch to that date

Sources/TripKitUI/view model/TKUIRoutingResultsViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ class TKUIRoutingResultsViewModel {
8181
requestChanged = Observable.merge(
8282
originOrDestinationChanged,
8383
builderChangedWithID
84-
.debounce(.seconds(1), scheduler: MainScheduler.instance)
8584
)
8685
.distinctUntilChanged { $0.1 == $1.1 } // only generate a new request object if necessary
86+
.debounce(.milliseconds(100), scheduler: MainScheduler.instance)
8787
.map { ($0.0.generateRequest(), $0.1) }
8888
.startWith( (initialRequest, initialRequest.map { Self.buildId(for: $0.builder) } ) )
8989
.distinctUntilChanged { $0.1 == $1.1 } // ignore duplicated request objects (happens when initialRequest != nil)

0 commit comments

Comments
 (0)