Observable.zip不是一个函数

Kar*_*pka 10 rxjs typescript typescript2.1 angular

VM95422:27 ORIGINAL EXCEPTION: WEBPACK_IMPORTED_MODULE_3_rxjs_Observable .Observable.zip不是函数

试过各种进口

// import 'rxjs/add/operator/zip';
// import 'rxjs/add/observable/zip-static';
// import 'rxjs/add/operator/zip';
import 'rxjs/operator/zip';
Run Code Online (Sandbox Code Playgroud)

试着像这样使用它:

const zippedUsers: Observable<User[]> = Observable.zip<User>(this.usersObservable);
Run Code Online (Sandbox Code Playgroud)

Angular 4,TypeScript 2.1.6

的package.json:

"rxjs": "^5.1.0",
Run Code Online (Sandbox Code Playgroud)

Pat*_*cow 24

也许是这样的

import {Observable} from "rxjs/Observable";
import "rxjs/add/observable/zip";
Run Code Online (Sandbox Code Playgroud)

然后像:

Observable.zip(this.someProvider.getA(), this.someProvider.getB())
        .subscribe(([a, b]) => {
            console.log(a);
            console.log(b);
        });
Run Code Online (Sandbox Code Playgroud)


Ale*_*mov 9

RxJS 6

从RxJS 6开始......

Observable 创作功能

from(),fromPromise(),of(),zip()应导入这样的:

import { from, fromPromise, of, zip } from 'rxjs';
Run Code Online (Sandbox Code Playgroud)

并用作普通函数调用:

const data: Observable<any> = fromPromise(fetch('/api/endpoint'));
Run Code Online (Sandbox Code Playgroud)

可管理的操作员

应该像这样导入:

import { map, filter, scan } from 'rxjs/operators';
Run Code Online (Sandbox Code Playgroud)

并用作pipe()方法参数:

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


小智 5

5.5 rxjs:

import {zip} from "rxjs/observable/zip";
const zippedUsers: Observable<User[]> = zip(this.usersObservable);
Run Code Online (Sandbox Code Playgroud)