假设我们有以下两个函数:
getTweetsForUser( handle, callback )
还有
expandShortLink ( stringHasLink, callback )
请展示我们如何将这些组成:
假设这些函数没有副作用,请展示我们如何组合它们并携带一些状态,例如调试日志消息。
注意:这不是作业,我只是想为我自己的学习和使用 monads 和 arrow 进行编程找到一些好的、清晰的参考代码,谢谢。
Python 或 JavaScript 中没有 monad 的概念(允许函数有副作用,并且代码始终按照您编写的顺序执行 - 因此这些语言中不需要 monad)。
在函数的上下文中,箭头组合是正常的函数组合。这样你就可以写了
getTweetsForUser( handle, expandShortLink( stringHasLink, callback ))
例如。