关于 Fetch API 的一个小困惑 [重复]

Posted

技术标签:

【中文标题】关于 Fetch API 的一个小困惑 [重复]【英文标题】:A small confusion about the Fetch API [duplicate] 【发布时间】:2019-12-11 19:28:37 【问题描述】:

我是异步 javascript 的新手,我一直在学习如何从 3rd 方 API 获取数据。在此过程中,我遇到了一个小问题:

const users = fetch('https://jsonplaceholder.typicode.com/users')
  .then((res) =>  // <--- with curly braces
      res.json()
  )
  .then((data) => 
    console.log(data)
  )
const users = fetch('https://jsonplaceholder.typicode.com/users')
  .then((res) => res.json()) // <--- without curly braces
  .then((data) => 
    console.log(data)
  )

使用花括号,我得到的结果是undefined

而没有花括号,我得到了整个数据。

如何以及为什么会这样?有没有人遇到过这种情况?

【问题讨论】:

该问题与fetch()无关。使用 ,您需要一个明确的return;没有 你不会。 我觉得自己很笨。我完全忘记了 ES6 语法。谢谢@Pointy 【参考方案1】:

干草阿比舍克;

这是箭头函数的两种不同表示法:

    带有表达式主体的箭头函数,在这种情况下,该表达式隐式/自动成为返回值
(a, b) => expression
    以块语句为主体的箭头函数。这类似于“普通”函数表达式和声明,花括号表示块。您必须明确地return 一个值。
(a, b) => 
  statement;
  statement;
  return expression;

【讨论】:

谢谢你,凯利。我现在才意识到这一点。

以上是关于关于 Fetch API 的一个小困惑 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 fetch 时拒绝承诺 [重复]

如何正确调用此 api 并使用 fetch 从 api 获取新闻 [重复]

对使用新的 Kafka 幂等生产者 API 防止重复感到困惑

React 无法使用 Fetch API 下载数据 [重复]

通过 Fetch API 将复杂的表单数据发送到 PHP 端点 [重复]

关于fetch网络请求