如何解决类型“typeof Observable”上不存在属性“interval”虽然是进口的
“typeof Observable”类型不存在“interval”属性。即使它是进口的,我也不知道为什么它不起作用。我看过一些关于 angular 6 的帖子,但这是 angular 11,所以我希望有人能帮我解决这个问题。
import { Component,OnInit } from '@angular/core';
import { TokenService } from '../../authentication/services/token.service';
import { Router } from '@angular/router';
import { HttpErrorResponse } from '@angular/common/http';
import { AdminService } from '../../authentication/services/admin.service';
import { CrudService } from '../services/crud.service';
import { Observable } from 'rxjs';
import { switchMap,startWith } from 'rxjs/operators';
@Component({
selector: 'app-admin-dashboard',templateUrl: './admin-dashboard.component.html',styleUrls: ['./admin-dashboard.component.css'],})
export class AdminDashboardComponent {
constructor(
private _token: TokenService,private _router: Router,private _admin: AdminService,private _crud: CrudService
) {}
adminId: string;
adminName: string;
adminEmail: string;
userCount$: Observable<any>;
userCount: string;
ngOnInit(): void {
this._token.verifyToken().subscribe(
(res) => {
this.adminId = res.admin._id;
localStorage.setItem('adminid',this.adminId);
this._admin.getAdminById(this.adminId).subscribe((res) => {
this.adminName = res.admin.name;
this.adminEmail = res.admin.email;
// this._crud.getUserCount().subscribe((count) => {
// this.userCount$ = count.count;
// });
this.userCount$ = Observable.interval(1000)
.startsWith(0)
.switchMap(() => {
this._crud.getUserCount().subscribe((count) => {
this.userCount = count.count;
});
});
});
},(err) => {
if (err instanceof HttpErrorResponse) {
if (err.status === 400) {
this._router.navigate(['/login']);
}
}
}
);
}
}
解决方法
试试这个:
import { interval } from 'rxjs';
....
interval(1000).startWith.... // Change Observable.interval to interval and import it from rxjs.
,
现在解决了我只是忘记使用管道
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。