获取 API 返回 "undefined"

Fetch API returning "undefined"

我目前正在学习如何使用 APIs,我在从 API 中获取数据时遇到了一些麻烦。下面的代码成功获得了响应,但实际上并未从服务器获得任何数据。我该如何解决这个问题?

const onClick = () => {
fetch(
  `https://collectionapi.metmuseum.org/public/collection/v1/objects/45734`
)
  .then(res => {
    if (res.ok) {
      console.log(res)
      console.log('SUCESSS')
    } else {
      console.log("Not Successful")
    }
  })
  .then(data => {
    if (data) {
      console.log(data)
    } else {
      console.log("undefined data")
    }
  })
  .catch(error => console.log('ERROR'))

console.log(results);

}

可以将 promise .then 方法链接起来,每个链接的 then 方法将接收前一个 returned 值。在你的例子中,第一个没有 return 任何值,使第二个没有收到任何值,也被称为未定义。

由于url您的代码正在调用returnjson内容,您应该return在登录成功后得到res.json()的结果。

这将读取响应主体的流并将其解析为 json,使用承诺。