如何在javaScript中运行fetch()后存储值?



我想根据fetch()函数的响应更新状态,但我无法获得值而不是获得承诺{}。如果是console.log(),那么这里的值是正确的。

state.product = fetch("https://fakestoreapi.com/products/2")
.then((res) => res.json()
.then((json) => {
console.log(json); // Correct value
return json;
})
);
console.log(state.product); // Promise {<pending>}

Fetch返回一个解析为Response对象的Promise。

您的第二个console.log值为Promise,因为此时Promise尚未解决。

也许你可以试试下面的方法:

async function getProduct(id) {
return fetch(`https://fakestoreapi.com/products/${id}`)
.then((res) => res.json())
.then((data) => data);
}
const product = await getProduct(2);
console.log(product);

相关内容

  • 没有找到相关文章

最新更新