Angular Observable.zip不是一个函数
VM95422:27原始异常: WEBPACK\u导入的\u模块\u 3\u rxjs\u Observable。Observable.zip不是一个函数 尝试了各种进口产品Angular Observable.zip不是一个函数,angular,typescript,rxjs,typescript2.1,Angular,Typescript,Rxjs,Typescript2.1,VM95422:27原始异常: WEBPACK\u导入的\u模块\u 3\u rxjs\u Observable。Observable.zip不是一个函数 尝试了各种进口产品 // import 'rxjs/add/operator/zip'; // import 'rxjs/add/observable/zip-static'; // import 'rxjs/add/operator/zip'; import 'rxjs/operator/zip'; 试着这样使用它: const zipp
// import 'rxjs/add/operator/zip';
// import 'rxjs/add/observable/zip-static';
// import 'rxjs/add/operator/zip';
import 'rxjs/operator/zip';
试着这样使用它:
const zippedUsers: Observable<User[]> = Observable.zip<User>(this.usersObservable);
也许像
import {Observable} from "rxjs/Observable";
import "rxjs/add/observable/zip";
然后是:
Observable.zip(this.someProvider.getA(), this.someProvider.getB())
.subscribe(([a, b]) => {
console.log(a);
console.log(b);
});
5.5 rxjs:
import {zip} from "rxjs/observable/zip";
const zippedUsers: Observable<User[]> = zip(this.usersObservable);
从“rxjs/observable/zip”导入{zip};
const-zippedUsers:Observable=zip(this.usersObservable);
RxJS 6
从RXJS6开始
例如from()
,fromPromise()
,of()
,zip()
应按如下方式导入:
import { from, fromPromise, of, zip } from 'rxjs';
import { map, filter, scan } from 'rxjs/operators';
并用作普通函数调用:
const data: Observable<any> = fromPromise(fetch('/api/endpoint'));
并用作pipe()
方法参数:
const someObservable: Observable<number> = ...;
const squareOddVals = someObservable.pipe(
filter((n: number) => n % 2 !== 0),
map(n => n * n))
.subscribe((n: number): void => ...);
const someObservable:Observable=。。。;
常数squareOddVals=某个可观察的管道(
筛选器((n:number)=>n%2!==0),
映射(n=>n*n))
.订阅((n:编号):void=>…);
导入“rxjs/add/observable/zip”代码>你能考虑改变接受的答案,因为它对最近的RXJS版本不再正确?问题明确地提到RXJS 5,所以这并不能提供一个问题的答案。@ Ingb Urk:我相信RXJS 5只是在询问时使用的版本OP(超过2年前)。如今,我认为如果这个问题与当前版本的libs保持同步,对社区更有利,特别是考虑到这是谷歌搜索中的首要问题。@IngoBürk:另外,notive answer提供了与RxJS 5.5相关的信息,RxJS 5.5的版本也比OP要求的版本高。但是已经有半年没有人抱怨了:)@AlexanderAbakumov非常感谢:在更新6->7后,从接受答案导入停止工作,从“rxjs”导入{observeable};我花了90多分钟试图找到这个解决方案。我在谷歌找到的资料或文档都没有帮助。但你的回答确实如此。
const someObservable: Observable<number> = ...;
const squareOddVals = someObservable.pipe(
filter((n: number) => n % 2 !== 0),
map(n => n * n))
.subscribe((n: number): void => ...);