2017-08-27 2 views
0

je tente d'extraire les données et demande d'état de la demande dans React native, quand utiliser ce codeObtenir le statut et les données de demande api par fetch dans React natif

function postUser(FirstName, LastName, Phone, Email, Password) { 
    let data = { 
     method: 'POST', 
     credentials: 'same-origin', 
     mode: 'same-origin', 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json' 
     }, 
     body: JSON.stringify({ 
      email: Email, 
      password: Password, 
      first_name: FirstName, 
      last_name: LastName, 
      phone: Phone 
     }) 
    } 
    return fetch(URLPostUser, data) 
     .then(response => response.json()) 
} 

dans ce résultat ne statut pas eu.

quand changer le retour de la fonction, j'essayer d'obtenir l'état, mais dans ce cas ne pas avoir accès aux données

function postUser(FirstName, LastName, Phone, Email, Password) { 
    let data = { 
     method: 'POST', 
     credentials: 'same-origin', 
     mode: 'same-origin', 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json' 
     }, 
     body: JSON.stringify({ 
      email: Email, 
      password: Password, 
      first_name: FirstName, 
      last_name: LastName, 
      phone: Phone 
     }) 
    } 
    return fetch(URLPostUser, data) 
} 

Répondre

1

Vous pouvez effectuer les opérations suivantes

return fetch(URLPostUser, data) 
    .then(response => ({ response, json: response.json()})) 

maintenant l'objet promis est

{ 
    response: // the response object 
    json: // the parsed JSON 
} 

Ou si vous ne voulez pas la réponse tout

return fetch(URLPostUser, data) 
    .then(response => ({ status: response.status, json: response.json()})) 

La promesse qui en résulte est de l'objet

{ 
    status: // the response object 
    json: // the parsed JSON 
}