问题描述
我正在尝试对搜索进行分页,并且需要防止其将上一次搜索的结果列表串联起来。
Ex搜索:%Dog%
第一页结果: “狗吠”,“狗叫”,“狗痒”
结果的第二页: “狗吠”,“狗叫”,“狗痒”,“狗跳”,“狗吃”,“狗坐”
前搜索:%Cat%
第一页结果: “猫喵”,“猫痒”,“猫跑”
结果的第二页: “猫喵”,“猫痒”,“猫跑”,“猫跳”,“猫吃”,“猫坐”
代码:
const offsetId$ = new Rx.BehaviorSubject(null);
const fooBar$ = new Rx.BehaviorSubject(null);
const observable = Rx.Observable
.combineLatest(offsetId$,fooBar$)
.startWith([])
.switchMap(([offsetId,fooBar]) => fooBarCollection.find({
fooBar: new RegExp("^" + fooBar,"i")
},{
skip: offsetId * 200,limit: 200
}).debounce(() => Rx.Observable.timer(10)))
.scan((acc,value) => acc.concat(value));
observable.subscribe((result) => {
console.log(result);
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)