Home > Mobile >  promise not work as expected misunderstanding?
promise not work as expected misunderstanding?

Time:01-22

fetch("https://jsonplaceholder.typicode.com/posts").then(
  (response) => {
    console.log(response.json()); //why the data not logged and promise is logged 
  }
);
but work if i writte 
let response = fetch("https://jsonplaceholder.typicode.com/posts")
  .then((response) => response.json())
  .then((data) => console.log(data));

why the data is not logged and promise is logged in the first code?

CodePudding user response:

response.json() is returning a promise, so you need to await it, either by doing what you did in the second example, or using async and await:

fetch("https://jsonplaceholder.typicode.com/posts").then(
  async (response) => {
    console.log(await response.json());
  }
);

js fiddle: enter image description here

  •  Tags:  
  • Related