2017-08-22 10 views
0

2つのapi呼び出しをチェーンしようとしています。最初は新しいサービスを作成するPOST、2番目は正しいユーザー/ adminでサービスを更新する呼び出しです。2番目の連鎖APIが呼び出されない(リアクション+ Axios)

しかしそれは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)) 
} 

思考にそれを作ったことがないのか?どのようにこれを書き直すことができますか?

+0

に連鎖thenを変更してみてください。私はあなたを得ない。 – lilezek

+0

申し訳ありませんが悪いデザイン、 'addService'はアクション作成者ですが、' api.addService'はAPIです –

答えて

2

.thenは、関数呼び出しではなくパラメータとして関数を受け取ります。 あなたはそれらの両方で名前として `addService`との2つのコードを持っている

// Then Update the Admin to have the Service and Rights 
.then(res => { addUserToService(user) }) 
関連する問題