RxJS 中的时间与缓冲操作
在现代应用程序开发中,对时间的控制和数据的处理是非常重要的。RxJS 提供了强大的工具来帮助我们实现这些功能。本文将介绍 RxJS 中与时间相关的操作符,如防抖、节流,以及缓冲操作符的使用。
1. 防抖优化搜索程序
在处理用户输入时,为了避免频繁的请求,我们可以使用防抖技术。以下是一个简单的防抖优化搜索程序的示例代码:
const notEmpty = input => !!input && input.trim().length > 0;
const sendRequest = function(arr, query) {
return arr.filter(item => {
return query.length > 0 && item.startsWith(query);
});
}
const search$ = Rx.Observable.fromEvent(searchBox, 'keyup')
.debounceTime(1000)
.pluck('target', 'value')
.filter(notEmpty)
.do(query => console.log(`Querying for ${query}...`))
.map(query =>
sendRequest(testData, query))
.subscribe(result => {
if(result.length === 0) {
clea
超级会员免费看
订阅专栏 解锁全文
83

被折叠的 条评论
为什么被折叠?



