throttleTime

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

先改一下这个 subscribe 里的 next .. 直接在控制台上输出一个 searching...

然后到浏览器上试一下 .. 在这个文本框里输入一些想要搜索的东西 .. 你会发现,每次发生 keyup 事件以后,都会在控制台上输出一个 searching ...

如果这是一个实时搜索功能的话,用户每次在文本框里输入一个字符,都会向我们的后端服务发送一次请求 .. 这样比较浪费 .. 可以控制一下 ..

先导入一个 Operator .. 位置是 rxjs/add/operator/throttleTime ..

在创建的这个 Observable 的下面,接着再用一下 throttleTime 这个 Operator,记住 Operator 都是纯函数,它返回的东西就是一个新的 Observable ..

给它一个时间 .. 比如 1000,表示一秒钟 ..

再去试一下 ..

在文本框里输入一些文字 .. 注意用了 throttleTime 以后, 输出的这个 searching 的次数少了很多 ..

输入第一个字符的时候就会输出一个 searching,然后在输出第二个 searching 的时候,中间会等 1 秒钟,这个时间就是我们给 throttleTime 的间隔时间这个参数的值 ..

过了 1 秒钟以后,又会输出第二个 searching .. 然后再等 1 秒 .. 后面如果还会发生 keyup 事件,又会输出第三个 searching ...

就是两个 searching 之间至少要等 1 秒 ..

throttleTime《 RxJS:反应式编程 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点