2 votes

Utiliser async/await avec le reducer redux

Qu'est-ce qui ne va pas avec le code ci-dessous? J'ai une erreur "async is a reserved word", j'ai configuré Babel pour async/await.

export async function getCredit(){
  return dispatch => {
    try {
      const creditInfo = await axios.get(`/credit`)
    } catch (err) {
      dispatch(errorMsg(err.data.msg))
    }

    if(creditInfo.result === 200 && res.data.status === 1) {
      dispatch({
        type: GET_CREDIT,
        payload: creditInfo.data
      })
    }
  }
} 

J'ai même essayé ceci

export async getCredit() => dispatch => {
  try {
    const creditInfo = await axios.get(`/credit`)
  } catch (err) {
    dispatch(errorMsg(err.data.msg))
  }

  if(creditInfo.result === 200 && res.data.status === 1) {
    dispatch({
      type: GET_CREDIT,
      payload: creditInfo.data
    })
  }
}

1voto

riwu Points 8676

Ceci est une fonction d'ordre supérieur (une fonction qui renvoie une fonction), vous devriez ajouter async à la fonction imbriquée où await est utilisé au lieu de la fonction externe (qui renvoie simplement une fonction).

export function getCredit(){
  return async dispatch => {

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X