ts中this的问题

在ts文件中本来是要对错误进行一个拦截,然后统一弹出一个message的,但是在这里调用this 会报错。

// 添加响应拦截axiosTokenInstance.interceptors.response.use((response: any) => {  if (response.data.statusCode !== 0) {    this.$Message.error('haha');
  } else {    return response.data;
  }
},  (error) => {    if (error.response) {      const { message } = error.response.data;      return Promise.reject(new Error(message));
    }    return Promise.reject(error);
  }
);

然后修改了代码

const that = this;// 添加响应拦截axiosTokenInstance.interceptors.response.use((response: any) => {  if (response.data.statusCode !== 0) {
    that.$Message.error('haha');
  } else {    return response.data;
  }
},  (error) => {    if (error.response) {      const { message } = error.response.data;      return Promise.reject(new Error(message));
    }    return Promise.reject(error);
  }
);

修改之后外面的this又被标红了[ts] "this" 隐式具有类型 "any",因为它没有类型注释。 [2683]谁能说下如何解决???/

慕桂英546537
浏览 3091回答 1
1回答

郎朗坤

function outter(this: any) {    const that = this;         // 添加响应拦截     axiosTokenInstance.interceptors.response.use((response: any) => {      if (response.data.statusCode !== 0) {         that.$Message.error('haha');       } else {        return response.data;       }     },      (error) => {        if (error.response) {          const { message } = error.response.data;          return Promise.reject(new Error(message));         }        return Promise.reject(error);       }     ); }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

React.JS