Cancel previous backend request if a new one is created











up vote
0
down vote

favorite












I need to create an Angular component to allow the user to select a city with a type suggestion.



When the user has typed three or more characters, the frontend asks the backend for a list of cities whose names begin with the user input.



After that I pass to the mat-option component an Observable of the list of the cities



searchCities = (value: string): Observable<City> => {
if(value.length >= this.minCityNameLength){
return this.detailsITService.fetchCitiesByName(value);
}

return of();
};


Is there a way to "cancel" a request if the method searchCities (passed as an input parameter to my custom component) is called with new user input?










share|improve this question









New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • learnrxjs.io/operators/transformation/switchmap.html
    – jonrsharpe
    4 hours ago










  • I dont think that you can cancel request once its made, but you can use buffer() and filter to combine and reduce overhead of calls. You can buffer to hold the network call until some point, and filter to make sure inputs are validated
    – Talha
    4 hours ago

















up vote
0
down vote

favorite












I need to create an Angular component to allow the user to select a city with a type suggestion.



When the user has typed three or more characters, the frontend asks the backend for a list of cities whose names begin with the user input.



After that I pass to the mat-option component an Observable of the list of the cities



searchCities = (value: string): Observable<City> => {
if(value.length >= this.minCityNameLength){
return this.detailsITService.fetchCitiesByName(value);
}

return of();
};


Is there a way to "cancel" a request if the method searchCities (passed as an input parameter to my custom component) is called with new user input?










share|improve this question









New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • learnrxjs.io/operators/transformation/switchmap.html
    – jonrsharpe
    4 hours ago










  • I dont think that you can cancel request once its made, but you can use buffer() and filter to combine and reduce overhead of calls. You can buffer to hold the network call until some point, and filter to make sure inputs are validated
    – Talha
    4 hours ago















up vote
0
down vote

favorite









up vote
0
down vote

favorite











I need to create an Angular component to allow the user to select a city with a type suggestion.



When the user has typed three or more characters, the frontend asks the backend for a list of cities whose names begin with the user input.



After that I pass to the mat-option component an Observable of the list of the cities



searchCities = (value: string): Observable<City> => {
if(value.length >= this.minCityNameLength){
return this.detailsITService.fetchCitiesByName(value);
}

return of();
};


Is there a way to "cancel" a request if the method searchCities (passed as an input parameter to my custom component) is called with new user input?










share|improve this question









New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I need to create an Angular component to allow the user to select a city with a type suggestion.



When the user has typed three or more characters, the frontend asks the backend for a list of cities whose names begin with the user input.



After that I pass to the mat-option component an Observable of the list of the cities



searchCities = (value: string): Observable<City> => {
if(value.length >= this.minCityNameLength){
return this.detailsITService.fetchCitiesByName(value);
}

return of();
};


Is there a way to "cancel" a request if the method searchCities (passed as an input parameter to my custom component) is called with new user input?







typescript rxjs observable angular6






share|improve this question









New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 4 hours ago









jonrsharpe

75.9k1097203




75.9k1097203






New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 4 hours ago









Mx Dep

1




1




New contributor




Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Mx Dep is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • learnrxjs.io/operators/transformation/switchmap.html
    – jonrsharpe
    4 hours ago










  • I dont think that you can cancel request once its made, but you can use buffer() and filter to combine and reduce overhead of calls. You can buffer to hold the network call until some point, and filter to make sure inputs are validated
    – Talha
    4 hours ago




















  • learnrxjs.io/operators/transformation/switchmap.html
    – jonrsharpe
    4 hours ago










  • I dont think that you can cancel request once its made, but you can use buffer() and filter to combine and reduce overhead of calls. You can buffer to hold the network call until some point, and filter to make sure inputs are validated
    – Talha
    4 hours ago


















learnrxjs.io/operators/transformation/switchmap.html
– jonrsharpe
4 hours ago




learnrxjs.io/operators/transformation/switchmap.html
– jonrsharpe
4 hours ago












I dont think that you can cancel request once its made, but you can use buffer() and filter to combine and reduce overhead of calls. You can buffer to hold the network call until some point, and filter to make sure inputs are validated
– Talha
4 hours ago






I dont think that you can cancel request once its made, but you can use buffer() and filter to combine and reduce overhead of calls. You can buffer to hold the network call until some point, and filter to make sure inputs are validated
– Talha
4 hours ago



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Mx Dep is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53349374%2fcancel-previous-backend-request-if-a-new-one-is-created%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








Mx Dep is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















Mx Dep is a new contributor. Be nice, and check out our Code of Conduct.













Mx Dep is a new contributor. Be nice, and check out our Code of Conduct.












Mx Dep is a new contributor. Be nice, and check out our Code of Conduct.















 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53349374%2fcancel-previous-backend-request-if-a-new-one-is-created%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Costa Masnaga

Fotorealismo

Sidney Franklin