javascript - 使用 fetch 从 API 获取数据,如何在 promise 解决后访问数据?

标签 javascript

在控制台上运行下面的代码,我得到了一个对象数组。

fetch('https://api.github.com/users/chriscoyier/repos')
  .then(response => response.json())
  .then(data => {
    // Here's a list of repos!
    console.log(data)
  });

以后如何访问数据?例如,如果我想在 promise 解决后 console.log data[0].archive_url?但这会出现错误“未捕获的 ReferenceError:数据未定义”。我如何访问该对象数组?

console

最佳答案

var myGlobalVar;

fetch('https://api.github.com/users/chriscoyier/repos')
  .then(response => response.json())
  .then(data => {
    console.log(data);
    myGlobalVar = data;
  });

此请求完成后(一旦您看到控制台输出),变量 myGlobalVar 中的数据现在可用,您可以在控制台上使用。您还可以使用浏览器的调试器在回调函数中设置断点,并从那里直接访问 data

请注意,这在实际代码中不起作用,这仅对交互式控制台有用:How do I return the response from an asynchronous call?

关于javascript - 使用 fetch 从 API 获取数据,如何在 promise 解决后访问数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45431710/

相关文章:

javascript - 使用 Phonegap : InvalidCastException 上传图片

javascript - react 导航 : styling TabNavigator text

javascript - 在数组上使用 delete 和随后的 .push() 会影响性能/内存消耗吗?

javascript 滚动回到顶部

javascript - 缓存视频 blob url src?

javascript - 获取页面上每个元素的 Z-index

javascript - 在 C# 中获取 JavaScript/HTML 变量的值

javascript - 通过单击单选按钮禁用/启用超链接

javascript - 使用 Javascript 在 Json 中插入 key

javascript - 如何在 NodeJS 中显示图像而不从 url 下载图像?