我很困惑如何导入这些运算符.我可以导入一些
import’rxjs / add / operator / do’;有些我不能.例如,这不起作用:
import’rxjs / add / operator / map’; (我在rxjs / add / operator中检查过,map存在).
import’rxjs / add / operator / do’;有些我不能.例如,这不起作用:
import’rxjs / add / operator / map’; (我在rxjs / add / operator中检查过,map存在).
基本上我想要做的是在Angular4中重现这个:
var requestStream = Rx.Observable.just('https://api.github.com/users'); var responseStream = requestStream .flatMap(function(requestUrl) { return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl)); }); responseStream.subscribe(function(response) { // render `response` to the DOM however you wish });
我也想知道如何处理just运算符,因为我在rxjs / add / operator中看不到它…
谢谢你的帮助
RxJS中有静态和实例运算符:
static of interval instance map first
您可能希望在Observable全局对象或可观察的实例上使用这些,如下所示:
Observable.of() observableInstance.map()
为此,您需要从add包导入模块:
import 'rxjs/add/observable/of' import 'rxjs/add/operator/map'
导入模块时,它实际上通过添加与运算符对应的方法来修补Observable类或Observable原型.
但您也可以直接导入这些运算符,而不修补Observable或observableInstance:
import { of } from 'rxjs/observable/of'; import { map } from 'rxjs/operator/map'; of() map.call(observableInstance)
通过在RxJs@5.5中引入可调运算符,您现在应该利用内置管道方法:
import { of } from 'rxjs/observable/of'; import { map } from 'rxjs/operators/map'; of().pipe(map(),...)