2016-08-18 3 views
0

Lassen Sie mich sagen, ich habe einen Wrapper für axios Funktion - etwas, das auf jeder Ajax-Abfrage implementiert werden sollte, damit ich Code DRY behalten möchte. Wie folgt aus:axios paar `` then` Versprechen - wie man sie kombiniert?

import axios  from "axios" 
import NProgress from "nprogress" 

const query = (url, options) => { 
    NProgress.start() 

    return axios({ 
    url: url, 
    method: options.method || "GET", 
    data: options.data || {} 
    }).then(() => { 
    NProgress.done() 
    }) 
} 

export default query 

Das Problem ist, dass, wenn ich hinzufüge, .then Resolver query(), nichts passiert ist! Wie folgt aus:

Import Abfrage von "./query.js"

query("something", {}).then(() => { console.log("This will never logged") }) 

Wie kann ich eine andere .then() zu query() Funktion hinzufügen?

Antwort

1

Einfach etwas zurückgeben!

const query = (url, options) => { 
    NProgress.start() 

    return axios({ 
    url: url, 
    method: options.method || "GET", 
    data: options.data || {} 
    }).then((response) => { 
    NProgress.done() 
    return response // change is here 
    }) 
} 
Verwandte Themen