我正在尝试在一个简单的GET中实现类型化响应,但是我从编译器中得到了这种奇怪的行为:应用程序已经编译但是它返回一个红色错误,你可以在从VS代码中获取的图像中看到:
src / app / services / product.service.ts(49,5)中的错误:错误TS2558:预期的0类型参数,但得到1。
这是代码:
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Device } from './model/device';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
devices: Device[];
constructor(private http: HttpClient) {
this.getAll();
}
getAll() {
this.http.get<Device[]>('http://localhost:3000/devices')
.subscribe(result => this.devices = result);
}
}
export interface Device {
id?: number;
label?: string;
os?: string;
price?: number;
memory?: number;
rate?: number;
desc?: string;
}
为什么我会收到错误?
感谢支持
答案 0 :(得分:0)
我认为你使用的是v4.3之前的Angular版本 HttpClient在4.3中可用,允许键入get。在此之前,你无法提供类型。