compose这个Api主要是对函数的调用进行组合,即执行完一个函数得到结果后,传入下一个函数中,以此类推,而函数的调用顺序是自右向左
compose
源码很简单,但是内部的逻辑不是很容易懂:
1 | //compose方法接收任意多个参数,每个参数都为一个function,并把这些参数组合成数组传入 |
compose这个Api虽然看上去简单,但要理解还是不容易的,明白reduce的执行原理,就会轻松很多
compose应用实例
平时在用redux时,为了方便调试会应用redux-devtools工具,而这个工具的用法如下:
1 | const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; |
传入多个参数的情况会在分析applyMiddleware这个Api中提到。
其实,不止在redux中,很多库或者平时开发中都可以应用compose方法。