关于 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 的一个小困惑 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何正确调用此 api 并使用 fetch 从 api 获取新闻 [重复]
对使用新的 Kafka 幂等生产者 API 防止重复感到困惑
React 无法使用 Fetch API 下载数据 [重复]