Observable.zip 不是函数

Observable.zip is not a function

VM95422:27 ORIGINAL EXCEPTION: WEBPACK_IMPORTED_MODULE_3_rxjs_Observable.Observable.zip is not a function

尝试了各种导入

// 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);

Angular4、TypeScript 2.1.6

package.json:

"rxjs": "^5.1.0",

可能是

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 6

从 RxJS 6 开始...

Observable creation functions

例如from()fromPromise()of()zip()应该这样导入:

import { from, fromPromise, of, zip } from 'rxjs';

并用作普通函数调用:

const data: Observable<any> = fromPromise(fetch('/api/endpoint'));

Pipeable operators

应该这样导入:

import { map, filter, scan } from 'rxjs/operators';

并用作 pipe() 方法参数:

const someObservable: Observable<number> = ...;
const squareOddVals = someObservable.pipe(
        filter((n: number) => n % 2 !== 0),
        map(n => n * n))
    .subscribe((n: number): void => ...);