es 6代码解释

explanation of es 6 code

谁能解释一下代码的作用here

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

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

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

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

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

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

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

该代码可以重写如下,

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

似乎外部函数 returns 是一个带有参数 next 的函数,而 returns 是另一个带有参数 action 的函数。您提供的 link 中的代码没有缩小,但似乎被混淆了。