use*_*063 8 javascript asynchronous promise async-await
我一直在关注教程并遇到以下代码片段:
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();
Run Code Online (Sandbox Code Playgroud)
是否应该立即将响应转换为 JSON 对象,就像从数组中获取值userJson[1]一样?为什么需要await usersResponse.json()和posts.json()?
jfr*_*d00 20
在初始fetch()调用之后,只读取了标头。因此,要将主体解析为 JSON,首先必须从传入流中读取主体数据。而且,由于从 TCP 流中读取是异步的,因此.json()操作最终是异步的。
注意:JSON 本身的实际解析不是异步的。它只是从异步传入的流中检索数据。
| 归档时间: |
|
| 查看次数: |
3186 次 |
| 最近记录: |