• Observable vs Promise

    Observable vs Promise

    我们来直奔主题。我们创建了一个叫为 Observable 的东西。它是一个异步的概念,与 Promise 非常相似,一旦数据达到就可以触发监听。

    1. let stream$ = Rx.Observable.from([1,2,3])
    2. stream$.subscribe( (value) => {
    3. console.log('Value',value);
    4. })
    5. // 1,2,3

    如果使用 Promise 的话,相对应的写法如下:

    1. let promise = new Promise((resolve, reject) => {
    2. setTimeout(()=> {
    3. resolve( [1,2,3] )
    4. })
    5. })
    6. promise.then((value) => {
    7. console.log('Value',data)
    8. })

    Promises 欠缺如下能力:

    • 不能生产多个值
    • 不能重试
    • 不能真正地玩转其它异步思想