Skip to content

Commit 8350fca

Browse files
committed
#11: Add last request id when fetching to preserve order
1 parent 40e6425 commit 8350fca

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

src/geocoder.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ export class ReactAutosuggestGeocoder extends React.Component {
5050
selected: false
5151
};
5252

53+
this.fetch_request_number = 0;
54+
5355
this._onSuggestionsFetchRequested = _.debounce(this.onSuggestionsFetchRequested, this.props.fetchDelay);
5456
}
5557

@@ -163,20 +165,24 @@ export class ReactAutosuggestGeocoder extends React.Component {
163165
});
164166
}
165167

166-
onChange = (event, { newValue }) => {
168+
onChange = (event, { newValue, method }) => {
167169
this.setState({
168170
value: newValue,
169171
selected: false
170172
});
171173
};
172174

173175
onSuggestionsFetchRequested = ({ value }) => {
176+
let request_number = this.fetch_request_number = (this.fetch_request_number + 1) % 10;
177+
174178
return this.autocomplete(value).then((data) => {
175-
this.setState({
176-
suggestions: _.uniqBy(data.features, (feature) => {
177-
return feature.properties.label;
178-
})
179-
});
179+
if (request_number === this.fetch_request_number) {
180+
this.setState({
181+
suggestions: _.uniqBy(data.features, (feature) => {
182+
return feature.properties.label;
183+
})
184+
});
185+
}
180186
});
181187
};
182188

0 commit comments

Comments
 (0)