2017-08-22 4 views
0

Ich versuche, 2 API-Aufrufe zu ketten, erstens ist ein POST, der einen neuen Dienst erstellt, 2. ist ein Aufruf, diesen Dienst mit dem richtigen Benutzer/Admin UPDATE.2. Chained API wird nicht aufgerufen (React + Axios)

Allerdings ist es nie machen es zu api.updateUserRights

export const addService = (service, user, rights) => (dispatch) => { 
    const params = { 
    name: service, 
    disabled: false, 
    rights: rights 
    }; 

    console.log('----------------- addService') 
    console.log(' service', service) 
    console.log(' user', user) 
    console.log(' params', params) 

    const addUserToService = (user) => api.updateUserRights(key, user); 

    api.addService(service, params) 
    // First Add the Service 
    .then(res => { 
     dispatch({ 
     type: actionTypes.ADD_SERVICE, 
     payload: { 
      service, 
      rights 
     } 
     }); 
    }) 
    // Then Update the Admin to have the Service and Rights 
    .then(addUserToService(user)) 
} 

Gedanken? Wie könnte das umgeschrieben werden?

+0

Sie haben zwei Codes mit 'addService' als Name in beiden ändern. Ich verstehe dich nicht. – lilezek

+0

Sorry schlechtes Design, 'addService' ist der Ersteller der Aktion, aber 'api.addService' ist die API –

Antwort

2

.then nimmt eine Funktion als Parameter und nicht als Funktionsaufruf an. Versuchen Sie, die angekettet then zu

// Then Update the Admin to have the Service and Rights 
.then(res => { addUserToService(user) }) 
Verwandte Themen