【发布时间】:2021-01-24 16:28:45
【问题描述】:
我是 Angular 和 typescript 的新手,所以我观看了 youtube 视频并复制它们以了解发生了什么。 Youtube tutorial
这在我尝试订阅的组件中,就像在视频中一样。这是我收到一条错误消息的行:
错误:src/app/components/prof-btn/prof-btn.component.ts:34:43 - 错误 TS2769:没有重载匹配此调用。 Overload 1 of 5, '(observer?: NextObserver | ErrorObserver | CompletionObserver | undefined): Subscription',给出了以下错误。 '(users: User[]) => Users[]' 类型的参数不可分配给 'NextObserver |错误观察者 |完成观察者 |不明确的'。 '(users: User[]) => Users[]' 类型中缺少属性'complete',但在'CompletionObserver' 类型中是必需的。 重载 2 of 5, '(next?: ((value: Object) => void) | undefined, error?: ((error: any) => void) | undefined, complete?: (() => void) | undefined): Subscription',给出了以下错误。 '(users: User[]) => Users[]' 类型的参数不可分配给'(value: Object) => void' 类型的参数。 参数 'users' 和 'value' 的类型不兼容。 “对象”类型可分配给极少数其他类型。您的意思是改用“任何”类型吗? “Object”类型缺少“Users[]”类型的以下属性:length、pop、push、concat 等 26 个。
34 this.userService.getUsers().subscribe((users: User[]) => this.users = users);
node_modules/rxjs/internal/types.d.ts:64:5 64完成:()=>无效; 这里声明了“完成”。
ngOnInit() {this.userService.getUsers().subscribe((users: User[]) => this.users = users);}
用户服务
getUsers() {return this.webService.get('users');}
网络服务:
get(uri: string) {this.http.get(``${this.ROOT_URL}/${uri}``);}
我在这里订阅了一项将我送回的服务
程序运行正常,所以它让我得到数据,但我很好奇是什么问题?
【问题讨论】:
-
您是否也像这样从 Web 服务返回了语句:get(uri: string) {return this.http.get(
${this.ROOT_URL}/${uri});}
标签: angular typescript