Angular 7升级:RxJs开关映射和可观测输入的返回类型<;无效>;
此代码在Angular 6中编译和工作:Angular 7升级:RxJs开关映射和可观测输入的返回类型<;无效>;,angular,rxjs,angular7,Angular,Rxjs,Angular7,此代码在Angular 6中编译和工作: import { of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; switchMap((term) => { if (term.trim().length > 3) return this.searchEntries(term); // <- returns Observable<
import { of } from 'rxjs';
import { switchMap } from 'rxjs/operators';
switchMap((term) => {
if (term.trim().length > 3)
return this.searchEntries(term); // <- returns Observable<void>
return of([]);
})
看起来我必须为switchMap返回ObservableInput,但是如何返回呢
非常感谢您的帮助。感谢@cartant,我通过添加如下返回类型解决了编译时错误:
switchMap((term) : Observable<void | any[]> => {
if (term.trim().length > 3)
return this.searchEntries(term); // <- returns Observable<void>
return of([]);
})
switchMap((术语):可观察=>{
如果(term.trim()长度>3)
返回此。searchEntries(term);//为searchEntries添加代码Archentries返回ObservicesName类型脚本限制和解决方法如下:
$ ng version
Angular CLI: 7.0.2
Node: 10.12.0
OS: linux x64
Angular: 7.0.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.10.2
@angular-devkit/build-angular 0.10.2
@angular-devkit/build-optimizer 0.10.2
@angular-devkit/build-webpack 0.10.2
@angular-devkit/core 7.0.2
@angular-devkit/schematics 7.0.2
@angular/cli 7.0.2
@ngtools/webpack 7.0.2
@schematics/angular 7.0.2
@schematics/update 0.10.2
rxjs 6.3.3
typescript 3.1.3
webpack 4.19.1
switchMap((term) : Observable<void | any[]> => {
if (term.trim().length > 3)
return this.searchEntries(term); // <- returns Observable<void>
return of([]);
})