为什么 .json() 是异步的? [复制]

2024-04-06

我一直在关注教程并发现以下代码片段:

const myAsyncFunction = async () => {
    const usersResponse = await fetch(
        'https://jsonplaceholder.typicode.com/users'
    )
    const userJson = await usersResponse.json();
    const secondUser = userJson[1];
    console.log(secondUser);
    const posts = await fetch (
        'https://jsonplaceholder.typicode.com/posts?userId=' + secondUser.id
    );
    const postsJson = await posts.json();
    console.log(postsJson);
}
myAsyncFunction();

响应到 JSON 对象的转换不应该立即发生,就像从数组中获取值一样,例如userJson[1]做?为什么需要await usersResponse.json() and posts.json()?


初始后fetch()调用时,仅读取了标题。因此,要将正文解析为 JSON,首先必须从传入流中读取正文数据。并且,由于从 TCP 流读取是异步的,.json()操作以异步结束。

注意:JSON 本身的实际解析不是异步的。这只是从异步传入流中检索数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 .json() 是异步的? [复制] 的相关文章

随机推荐