本文介绍了TypeScrip:类型X缺少类型Y Long、Pop、Push、Concat和其他26种类型的以下属性。[2740][晓雨-0920交稿]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有此产品界面:

export interface Product{
  code: string;
  description: string;
  type: string;
}

使用方法调用产品终结点的服务:

  public getProducts(): Observable<Product> {
    return this.http.get<Product>(`api/products/v1/`);
  }
  

和我使用此服务获取产品的组件。

export class ShopComponent implements OnInit {
    public productsArray: Product[];
    
    ngOnInit() {
        this.productService.getProducts().subscribe(res => {
          this.productsArray = res;
        });
    }
}

在此状态下,我收到错误:

删除对productsArray变量的键入会删除错误,但不知道这为什么不起作用,因为服务器响应是Products类型的对象数组?

推荐答案

您返回的Observable<Product>预期在subscribe回调内。

http.get()getProducts()返回的类型应为Observable<Product[]>

public getProducts(): Observable<Product[]> {
    return this.http.get<Product[]>(`api/products/v1/`);
}

这篇关于TypeScrip:类型X缺少类型Y Long、Pop、Push、Concat和其他26种类型的以下属性。[2740][晓雨-0920交稿]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 15:50