ES6代码解释

3

有人能解释一下这段代码的作用吗?

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

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

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

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

2个回答

2
如果箭头函数只有一个参数,则可以省略该参数周围的括号。您只需要足够的括号来更好地理解它们即可。
return () => (next) => (action) => {

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


1
那段代码可以像下面这样重写:
return function() { 
   return function(next) { 
      return function(action) {

似乎外部函数返回一个带有参数next的函数,该函数又返回另一个带有参数action的函数。您提供的链接中的代码未被压缩,但似乎已经被混淆了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接