Rückkehr Versprechen von Axios?

Frage ich mich, wie gebe ich ein Versprechen form Axios? Ich bin nicht sicher, ob ich ein Abfangjäger?

Ich habe diesen code jetzt

export function fetchStorage() {
    return function (dispatch) {
      return new Promise(function(resolve, reject) {
        if (1 === 1) {
          resolve('it works!');
        } else {
          reject(':(');
        }
      });
    };
}

und

this.props.fetchStorage().then(function() {
           console.log('then');
        });

Nun sagen, ich will zu ändern, die fetchStorage etwas zu tun, was über ajax und ich hätte es gerne

 var instance = axios.create({
            baseURL: 'http://localhost:54690/api',
            timeout: 2000,

        });

        instance.get('/Storage/Get')
            .then(function (response) {
                console.log(response);
            })
            .catch(function (error) {
                console.log(error);
            });

wie gebe ich das Versprechen, zu tun, anstatt es hier?

Bearbeiten

Nur zur Klarstellung, warum ich Tue dies, ich habe so etwas wie dieses

  componentWillMount() {
        this.props.setPreLoader(true);
        this.props.fetchStorage().then(function() {
           this.props.setPreLoader(false);
        });
    }

export function fetchStorage() {
    return function (dispatch) {
        return new Promise(function (resolve, reject) {
            axiosInstant.get('/Storage/Get')
                .then(function (response) {
                    let payload = response.data;
                    console.log(payload);
                    dispatch({ type: actions.FETCH_STORAGE, payload: { storages: payload } });
                })
                .catch(function (error) {
                    console.log(error);
                });
        });
    };
}
  • Warum nicht return instance.get('/Storage/Get') bin ich hier etwas fehlt?
  • naja ich bin mit redux Muster, also muss ich senden die Versand-und wenn ich nur zurückgeben, wie Sie Sie haben, dann ich haben immer daran zu erinnern, zu senden, dass der Versand jedes mal, wenn ich verwenden Sie diese Funktion aus.
  • ich verstehe nicht, warum Sie nicht zurückkehren, die Versprechen, dass axios ist bereits was Sie.
  • Meine änderung ist nun auf JokerManh Antwort. Ich hoffe, dass ich nicht brauchen, wickeln Sie es um mit diesem Versprechen, aber ich bin nicht sicher jetzt wie die Rückkehr der Verheißung nach. Was meine CompnentWillMount code aussieht, ist das, was ich erreichen will.
  • Ihre fetchStorage Funktion nicht wieder ein Versprechen gibt es eine Funktion zurückgeben wird, ein Versprechen, wenn Sie angerufen werden.Sie können also nicht So eine Kette then zu.
  • Es sieht mehr wie ein redux stellt sich die Frage, als ein Versprechen/axios ein. Haben Sie getroffen, einen Blick auf redux-thunk ? Ich fühle mich wie das ist, was Sie suchen.

InformationsquelleAutor chobo2 | 2016-08-19
Schreibe einen Kommentar