Таким образом, в настоящее время у меня есть следующий код, который ожидает ввода элемента, чтобы завершить набор, который затем выполняет ajax.
input = элемент ввода например <input>
axiosAjax = просто мой ajax
fromEvent(input, "keyup")
.pipe(
map(i => i.currentTarget.value),
debounceTime(delay),
distinctUntilChanged(),
switchMap(value =>
{
this.page = 1
return this.axiosAjax({
path,
method,
data: {
...data,
[term]: value
}
})
})
)
Я пытаюсь переместить ajax из switchMap, чтобы я мог вызвать ajax вне этой функции.Например, .subscribe( () => this.aDifferentAjax() )
.Тем не менее, я все еще хотел бы сохранить возможность отбрасывать старые Ajaxes.
Как мне поступить?
Может быть, выглядит примерно так:
fromEvent(input, "keyup")
.pipe(
map(i => i.currentTarget.value),
debounceTime(delay),
distinctUntilChanged(),
switchMap(value =>
{
this.page = 1
return value
})
)
.subscribe(
() => this.aDifferentAjax()
// ^This ajax can be discarded if new input is detected
)