M. *_*ita 10 node.js rxjs angular
我试图在我的 Angular 项目中使用 rxjs 的 map 操作符,但出现以下错误
ERROR in src/app/core/service/session.service.ts(88,9): error TS2552: Cannot find name 'map'. Did you mean 'Map'?
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
角 CLI 7.0.4
节点 10.13.0
rxjs 6.3.3
打字稿 3.1.6
import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';// This is where I import map operator
import { SessionService } from '../service/session.service';
@Injectable({
providedIn: 'root'
})
export class AuthGuard implements CanActivate {
constructor(private session: SessionService,
private router: Router) {
}
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> |boolean {
return this.session
.checkLoginState()//Returns an Observable of Session
.pipe(
map(session => {
if (!session.login) {
this.router.navigate(['']);
}
return session.login;
})
)
}
}
Run Code Online (Sandbox Code Playgroud)
qle*_*z12 18
我的错误发生了,因为我忘记检查该函数的导入,VS 代码总是这样做,但有时不会。检查它是否相同,只需添加...
import { map, catchError } from 'rxjs/operators';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11841 次 |
| 最近记录: |