【问题标题】:How to remove unknown properties in typescript如何删除打字稿中的未知属性
【发布时间】:2019-04-01 23:45:15
【问题描述】:

我将axios 用于ajax 请求,并使用deepmerge 库将几个对象合并在一起。这是我的代码 sn-p:

axios.interceptors.response.use((response) => {
  return response;
}, (error) => {
  let basicResponse = deepmerge(error.response, { responseText: error.request.responseText });
  // @ts-ignore
  delete basicResponse.config;
  // @ts-ignore
  delete basicResponse.data;

  return Promise.reject(error);
});

我不想要合并对象的精确克隆;我要删除一些属性(在此示例中,配置和数据)。如果删除第一个 //@ts-ignore 评论,则 typescript 会抱怨:

类型 '{ responseText: any; 上不存在属性 'config' }'。

如何删除 //@ts-ignore cmets 并仍然访问 typescript 一无所知的属性?

【问题讨论】:

    标签: typescript axios


    【解决方案1】:

    你可以试试这个

    axios.interceptors.response.use((response) => {
      return response;
    }, (error) => {
      let basicResponse: any = deepmerge(error.response, { responseText: error.request.responseText });
    
      delete basicResponse.config;
      delete basicResponse.data;
    
      return Promise.reject(error);
    });
    

    【讨论】:

      猜你喜欢
      • 2019-04-18
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      相关资源
      最近更新 更多