【问题标题】:explanation of es 6 code [duplicate]es 6代码的解释[重复]
【发布时间】:2016-07-13 22:45:49
【问题描述】:

谁能解释一下代码在做什么here

return () => next => action => {
  const callAPI = action[CALL_API];

  if (typeof callAPI === 'undefined') {
    return next(action);
  }

  let { endpoint } = callAPI;
  const { types, bailout } = callAPI;

它最初返回一个函数,但我不明白为什么在第一个之后还有两个粗箭头。

【问题讨论】:

    标签: javascript ecmascript-6 arrow-functions


    【解决方案1】:

    如果箭头函数只有一个参数,那么它周围的参数是可选的。你只需要有足够的括号来更好地理解它们。

    return () => (next) => (action) => {
    

    它返回一个函数,该函数在被调用时返回另一个接受一个参数next 的函数。现在,当调用该函数时,它会返回另一个函数,该函数接受另一个参数action

    【讨论】:

      【解决方案2】:

      该代码可以如下重写,

      return function() { 
         return function(next) { 
            return function(action) {
      

      似乎外部函数返回一个带有参数next 的函数,并返回另一个带有参数action 的函数。您提供的链接中的代码没有缩小,但这似乎被混淆了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-23
        • 2016-09-28
        • 2020-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        相关资源
        最近更新 更多