【发布时间】:2017-06-27 03:06:19
【问题描述】:
我正试图围绕 observables。我知道当观察者中的值发生变化时,可观察者会通知其所有订阅者某些事情发生了变化。我不确定为什么下面的代码不起作用。我的理解是,一旦我在数组中添加另一个元素,订阅者应该记录新值或者可能记录所有值。
谁能解释一下这是为什么?
import { Observable } from 'rxjs';
var numbers = [5, 1, 2, 7, 10];
// let source = Observable.from(numbers);
let source = Observable.create(observer => {
for (let n of numbers)
observer.next(n);
observer.complete();
});
source.subscribe(
value => console.log(`value is ${value}`),
error => console.log(`error is ${error}`),
() => console.log(`completed!`)
);
setTimeout(function () {
console.log("pushing new value");
numbers.push(33);
}, 3000);
我尝试评论observer.complete(),因为我认为这可能是罪魁祸首。
【问题讨论】:
标签: javascript typescript observable reactive-programming