
rxjs
文章平均质量分 80
yanyi24
这个作者很懒,什么都没留下…
展开
-
rxjs实现页面拖拽
为了练习rxjs操作符,本节将实现一个基础的拖拽功能。先来看具体效果:实现原理:通过鼠标移动,计算鼠标在页面中的位置,从而改变DOM元素绝对定位的left、top值。实现思路:首先css设置DOM元素为绝对定位;捕获鼠标点击之后的鼠标移动事件,实时计算鼠标位置,直到mouseup;边界判断并实时修改位置。先来一个边界判断计算值的方法:getValue(value, max, min): number { return Math.min(Math.max(value,.原创 2021-03-29 10:22:58 · 282 阅读 · 0 评论 -
rxjs实现输入框热加载 百度搜索
学了再多的概念,如果没有实战,都是徒劳。这一节将写一个输入框搜索请求后台数据,显示在页面上的例子。创建一个 rxjs-demo组件,并采用 OnPush策略:ng g c components/rxjs-demo -c OnPush -s -t需求分析获取输入框 input时的值;通过输入值请求接口,返回数据;每次键入,只请求最新的 value根据键入速度,节流如果 input的 value没发生变化,不重复请求错误处理。页面代码:<div class.原创 2021-03-29 10:19:07 · 307 阅读 · 0 评论 -
rxjs 多播操作符
这一节介绍RxJs多播操作符单播和多播单播:之前我们看到的所有 Observable都是单播的,即源头有值发出时,不管这个 Observable被几个 Observer订阅,我一次只会给一个 Observer推送。多播:当源头有值发出时,这个值会同一时间发给所有的 Observer。简单来说,单播与多播的区别类似于,concat和 merge的区别。单播:import { range } from 'rxjs';const source$ = range(5);// 先输出A: 0...原创 2021-03-29 10:10:46 · 588 阅读 · 0 评论 -
rxjs 其他类操作符
这一节介绍RxJs错误处理类、工具类、数字操作类操作符工具类操作符从打印日志、处理通知到设置调度器,这些操作符提供了一些有用的工具以补充你的 Observable工具箱。tap类似 console.log,多用于调试,会返回源 Observable的值,不转换值import { fromEvent } from 'rxjs';import { tap, map } from 'rxjs/operators';fromEvent(document, 'click').pipe( tap.原创 2021-03-29 10:09:02 · 239 阅读 · 0 评论 -
rxjs 筛选类操作符
这一节我们介绍筛选类操作符筛选操作符在基于推送的方式下,选择接受项的方式和时间很重要。这些操作符提供了从 observable源中接受值和处理backpressure(背压)的技术。audit在目标 observable发出值之前,会忽略所有源 observable发出的值,直到目标 observable发出值,会推送源 observable最近发出的一次值。import { interval, fromEvent } from 'rxjs';import { audit, pluck } .原创 2021-03-29 10:07:24 · 380 阅读 · 0 评论 -
rxjs 转换类操作符
这一节我们介绍转换类操作符转换操作符顾名思义,转换即是返回你需要的新的值。在通过操作符链时进行值的转换是一个常见的任务。这些操作符提供了转换技术几乎可以涵盖你所能遇到的任何场景。buffer用数组收集一个流发出的值,直到另一个流发出值,就把当前已收集到的值发出并释放。import { interval, fromEvent } from 'rxjs';import { buffer } from 'rxjs/operators';const myInterval = interval(1.原创 2021-03-29 10:05:59 · 445 阅读 · 0 评论 -
rxjs 创建类操作符
操作符是 observables背后的马力,为复杂的异步任务提供了一种优雅的声明式解决方案。rxjs有八种类型的操作符,分别是:组合、条件、创建、错误处理、多播、过滤、转换、工具。我们将通过多节内容来介绍全部常用的操作符。(参考文档:https://rxjs-cn.github.io/learn-rxjs-operators/operators/)tips:通常情况下,我们是不会通过new Observable()形式去创建一个可观察对象的,都是使用操作符来创建。创建类型操作符这些运算符几乎允许.原创 2021-03-29 10:01:55 · 333 阅读 · 0 评论 -
rxjs-初体验
RxJS是一个主要用于处理异步程序的函数式编程库,可以把 RxJS想成处理异步行为的 Lodash,在angular中被大量使用,所以,了解它是必须的。观察对象Observable在介绍RxJs之前,我们有必要先了解下可观察对象(Observable)。观察者(Observer)模式是一个软件设计模式,它有一个对象,称之为主体 Subject,负责维护一个依赖项。可观察对象(Observable)是声明式的 —— 也就是说,虽然你定义了一个用于发布值的函数,但是在有消费者订阅它之前,这个.原创 2021-03-29 09:53:30 · 261 阅读 · 0 评论