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 => ...);
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 => ...);