-1

私はそれを作ろうとしているので、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) がヒットしても何も起こりません。何も発送されません。これはreactコンポーネントでしか行ったことがないので、何か他のことをする必要があるかどうかはわかりません。

4

1 に答える 1

0

このsetPreLoader関数は、別の無名関数を返す以外には何もしません。したがって、setPreLoader(true)無名関数は呼び出されないため、呼び出すだけでは何も起こりません。

setPreLoader(true)適切な関数での結果を呼び出す必要があります。

setPreLoader(true)(someFunction)
于 2016-08-19T21:26:23.883 に答える