我有一个来自角度用户界面的片段,当用户在字段中键入字母时,该片段将调用myService.getNames()。每当用户在字段中输入另一个字母时,switchMap都会取消上一个请求。
.pipe(
debounceTime(500),
switchMap(value => this.myService.getNames(value))
)
此服务将调用REST端点http://localhost:8080/listing?value=<value_sent_from_client>
。用于检索名称列表的查询需要一些时间才能完成。如果用户编辑了该字段3次,将有2个取消的请求和1个正在进行的请求。
在服务器端,如何取消2个先前运行的查询?还是会自动取消?
答案 0 :(得分:0)
您不能在服务器端取消请求。该解决方案可能采用更复杂的算法,例如:
或任何其他方法。