2017-07-10 1 views
0

S'il vous plaît, comment puis-je enregistrer la sortie de récupérer une variable - pour pouvoir travailler avec lui comme avec un objet?Javascript Fetch API - Comment enregistrer la sortie dans une variable en tant qu'objet (pas la promesse)

Voici le code:

var obj; 
fetch("url", { 
    method: "POST", 
    body: JSON.stringify({ 
    "filterParameters": { 
     "id": 12345678 
    } 
    }), 
    headers: {"content-type": "application/json"}, 
    //credentials: 'include' 
}) 
.then(res => res.json()) 
.then(console.log) 

Le console.log final montrera un objet. Mais quand j'ai essayé de l'enregistrer à la variable .then(res => obj = res.json()) que le console.log(obj) ne tiendra pas l'objet, mais la promesse.

Console

Toute idée s'il vous plaît, comment le transformer en un objet enregistré dans la variable?

Répondre

3

.json() est une méthode async, donc vous devez attribuer la valeur analysée dans la prochaine .then()

var obj; 
 

 
fetch('https://jsonplaceholder.typicode.com/posts/1') 
 
    .then(res => res.json()) 
 
    .then(data => obj = data) 
 
    .then(console.log) 
 
    .then(() => console.log(obj))

+0

Merci beaucoup, '.alors (data => obj = données) 'était la partie manquante, maintenant ça marche. –