手動實現一個compose函數

在redux中合併reducer的時候有用到compose這個函數將多個reducer合成一個,那麼這個compose函數該怎麼實現呢?
function compose(...fns) { //fns是傳入的函數
  const fn = fns.pop();
  return (...args) => {
    fn(...args);
    if (fns.length > 0) {
      compose(...fns);
    }
  };
}
相關文章
相關標籤/搜索