简单的Node/Express应用程序,以函数式编程方式处理副作用(如何处理JavaScript中的副作用?)

5 浏览
0 Comments

简单的Node/Express应用程序,以函数式编程方式处理副作用(如何处理JavaScript中的副作用?)

在JavaScript中,有很多关于函数式编程理论的好文章。其中一些甚至包含示例代码,展示了命令式/面向对象编程与声明式/函数式编程之间的区别。但我发现没有一个文章用简单的JavaScript代码示例展示如何在Web应用中处理副作用。没有哪个真实世界的应用可以完全避免副作用(数据库调用、控制台日志记录、保存到文件、绘制到屏幕等),我很难弄清楚实际上是如何做到的。

有一些博客文章和S/O回答(比如这个:How to perform side-effects in pure functional programming?)涉及到了如何在现实世界中处理副作用的主题,但它们通常都很复杂,没有包含代码示例,或者包含的代码示例是其他语言(Haskell、Scala等)。我没有找到适用于Node/JavaScript的这样一篇文章。

所以...给定以下非常简单的Node/Express应用程序示例与MongoDB数据库,必须实现哪些代码更改,以使该代码片段完全反映当前JavaScript函数式编程的最佳实践。特别是在处理数据库调用的路由/函数方面。我希望你的答案能帮助我和其他人更好地理解在实际的JavaScript中应用函数式编程中“避免副作用”的概念。

0