首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    说清 Observable

    本节会讲到 什么是观察者(Observer)模式及代码实现 什么是 Iterator (迭代器) 模式及代码实现 什么是 Observable 观察者模式 发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系...先让我们来看看原生的 JS 要怎么建立 iterator var arr = [1, 2, 3]; var iterator = arr[Symbol.iterator](); iterator.next...当我们把一个字串丢进 getNumbers 函式时,并没有马上运算出字串中的所有数字,必须等到我们执行 next() 时,才会真的做运算,这就是所谓的延迟运算(evaluation strategy) Observable...image.png Observable 其实就是这两个 Pattern 思想的结合,Observable 具备生产者推送数据的特性,同时能像数组,拥有数组处理数据的方法(map, filter...下节讲 如何创建 Observable 。 参考: http://es6.ruanyifeng.com/#docs/iterator

    66120

    Observable 和 数组的区别

    Observable 和 数组都有filter, map 等运算操作operators,具体的区别是什么?...主要是两点: 延迟运算 渐进式取值 延迟运算 延迟运算很好理解,所有 Observable 一定会等到订阅后才开始对元素做运算,如果没有订阅就不会有运算的行为 var source = Rx.Observable.from...([1,2,3,4,5]); var example = source.map(x => x + 1); 上面这段代码因为 Observable 还没有被订阅,所以不会真的对元素做运算,这跟数组的操作不一样...image.png Observable operator 的运算方式跟数组的是完全的不同,虽然 Observable 的 operator 也都会回传一个新的 observable,但因为元素是渐进式取得的关系...image.png 渐进式取值的观念在 Observable 中其实非常的重要,这个特性也使得 Observable 相较于 Array 的 operator 在做运算时来的高效很多,尤其是在处理大量资料的时候会非常明显

    62520
    领券