在执行某些特定的HTTP动词后如何执行一些代码

时间:2019-06-17 12:28:55

标签: reactjs axios

我需要在每次PUT,PATCH和POST之后执行一些代码。得到响应后,我不希望每个axios调用都执行我的代码;我希望将代码声明在一个地方,以确保针对每个PUT / POST / PATCH触发其执行。我想到过axios响应拦截器,但是您需要在返回响应之前做一些事情,而就像我这种情况一样,我希望先返回响应,然后执行代码。

1 个答案:

答案 0 :(得分:1)

结帐axios middleware

import axios from 'axios';
import { Service } from 'axios-middleware';

const service = new Service(axios);

service.register({
  onRequest(config) {
    console.log('onRequest');
    //EDIT YOUR REQUEST CONFIG
    return config;
  },
  onResponse(response) {
    console.log('onResponse');
    //EDIT YOUR RESPONSE
    return response;
  }
});

axios('https://jsonplaceholder.typicode.com/posts/1')
  .then(({ data }) => console.log('Received:', data));