关于提取API的一个小问题

时间:2019-08-03 13:38:31

标签: javascript asynchronous fetch-api

我是异步JavaScript的新手,我一直在学习如何从第三方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

在没有花括号的情况下,我得到了所有数据。

这怎么可能?为什么?有人遇到过这种情况吗?

1 个答案:

答案 0 :(得分:2)

Hay Abishek;

这是箭头功能的两种不同表示法:

  1. 带有表达式主体的箭头函数,在这种情况下,隐式/自动地将表达式作为返回值
(a, b) => expression
  1. 以block语句为主体的箭头函数。这类似于“常规”函数的表达式和声明,大括号表示该块。您必须明确return值。
(a, b) => {
  statement;
  statement;
  return expression;
}