我已订阅要传送的数据。但是以某种方式它不起作用。我收到此错误:
属性管道不适用于类型“ OperatorFunction”
这是我的代码: 验证服务
authenticationState = new BehaviorSubject(false);
checkToken() {
this.storage.get(TOKEN_KEY).then(access => {
if (access) {
this.user = this.helper.decodeToken(access);
this.authenticationState.next(true);
}
});
}
page.ts(在管道上出现错误)
ngOnInit() {
this.subscription = combineLatest (
this.authService.authenticationState,
from(this.storage.get(USER_ID))
).pipe(
switchMap(
([isAuthenticated, id]) => isAuthenticated ? this.userService.getUserDetails(id) : of(null)
)
).subscribe(
result => {
if (result) {
this.information = result;
console.log(this.information);
} else {
}
},
error => {
}
);
}
答案 0 :(得分:1)
错误提示您从错误的位置导入combineLatest
,需要从combineLatest
而非rxjs
导入rxjs/operators
。您需要combineLatest
的“可观察的创建”版本,该版本位于rxjs
中。
此外,from
内也不需要combineLatest
,因为Storage
,combineLatest
也接受Promise。
将combineLatest
的导入更改为:
import { combineLatest } from 'rxjs';