我是否必须再次发送或为什么我的代码没有运行?

时间:2016-08-19 21:17:23

标签: javascript ajax axios

我正在尝试这样做当我执行ajax请求时,我的预加载会在请求完成时显示(成功与否)它会消失。

我正在使用Axios,他们有拦截器用于请求和响应。我现在正在尝试请求。

import axios from "axios";
import {setPreLoader}  from './PreLoaderActions.js';

export const axiosInstant = axios.create({
    baseURL: 'http://localhost:54690/api',
    timeout: 2000,
});

export const config = axiosInstant.interceptors.request.use( config => {
    // Do something before request is sent
    console.log('afaf');
    setPreLoader(true);
    return config;
  }, function (error) {
    // Do something with request error
   // this.setPreLoader(false);
    return Promise.reject(error);
  });


import {actions}  from './Actions.js';

export function setPreLoader(show) {
     return function (dispatch) {
        dispatch({ type: actions.SHOW_PRE_LOADER, payload: { showPreLoader: show }  });
    };
}

当我的setPreloader(true)被击中时没有任何反应。什么都没发送。不确定我是否需要做其他事情,因为我只是在一个反应​​组件中这样做,所以redux / reactjs可能会在幕后为我做点什么。

1 个答案:

答案 0 :(得分:0)

除了返回另一个匿名函数之外,setPreLoader函数本身并没有做任何事情。因此,只调用setPreLoader(true)不会做任何事情,因为不会调用匿名函数。

您必须使用适当的函数调用setPreLoader(true)的结果:

setPreLoader(true)(someFunction)