【发布时间】:2018-11-13 08:07:28
【问题描述】:
我刚刚学习了 Pluralsight - 使用 RxJS 进行反应式编程入门
为什么不工作?
我使用 RXJS 6.2.0
import {Observable} from 'rxjs';
const numbers = [1, 5, 10];
const source = Observable.create(observer => {
let index = 0;
let produceValue = () => {
observer.next(numbers[index++]);
if (index < numbers.length) {
setTimeout(produceValue, 2000);
} else {
observer.complete();
}
};
produceValue();
}).map(n => n * 2)
.filter(n => n > 4);
source.subscribe(
value => console.log(`value: ${value}`),
e => console.log(`error: ${e}`),
() => console.log('complete')
);
【问题讨论】:
-
Observable.create()返回一个Observable,而不是一个数组。 -
在 v6 中,您需要使用 pipable 操作符,或者需要在
rxjs旁边安装rxjs-compat。请参阅migration guide。此外,使用new Observable优于使用Observable.create。
标签: javascript typescript rxjs