【问题标题】:Property 'map' does not exist on type 'AxiosResponse<any>'.ts(2339)类型“AxiosResponse<any>”.ts(2339) 上不存在属性“地图”
【发布时间】:2020-10-08 14:40:01
【问题描述】:

此代码块中我的地图功能:

public async getAllWidgets2(): Promise<Widget[]> {

    let url = "myUrl";

    var items = [];

     return axios.get(url).then(result => {

        console.log("results" + result)

        let result2: Widget[] = [];
        result.map((item) => { result2.push(this.parseWidget(item)); });
        let data: Widget[] = result2;
        return(data);


    } ) }

上面的地图函数给我一个错误“属性'地图'不存在类型'AxiosResponse'.ts(2339)”

我在 StackOverflow 上搜索了答案并尝试了:

import { map } from 'rxjs/operators';

但仍然给我同样的错误。有什么办法解决吗?

【问题讨论】:

  • 结果的type 是什么? .map() 是数组上的一个方法。看起来你没有使用 rxjs,所以我认为不需要 rxjs/operators 导入。

标签: javascript typescript axios


【解决方案1】:

Axios Response 不仅包含响应正文,它还是一个对象,包含有关请求、响应等的所有详细信息...

如果您想映射响应正文(数据),您必须在 'response.data' 而不是 'response' 上执行所有这些操作 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-31
    • 2021-12-28
    • 2021-01-10
    • 1970-01-01
    • 2019-08-11
    • 2021-08-02
    • 2020-06-02
    • 2022-07-09
    相关资源
    最近更新 更多