问题标签 [cats-effect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 当 IO 卡在中间时如何编写 doobie 事务
我想编写一个基本的 doobie 读/写事务,但关键是IO
中间有一个返回调用。我想做这样的事情:
但我无法在IO
. 因此,在第二种情况下,我会被卡住,IO[ConnectionIO[Something]]
这意味着我的交易最终会像ConnectionIO[IO[ConnectionIO[Something]]
.
我想要的是一个ConnectionIO[IO[Something]]
我可以在单个事务中运行的结果,IO[IO[Something]]
然后我可以轻松地将其展平。(我不想运行IO
。)有意义吗?知道这是否有可能实现吗?
scala - Scala:http4s 为在 curl/requests 中工作的相同请求提供 401 Unauthorized
我尝试使用以下代码http4s v0.19.0
:
我收到以下错误:
不仅如此,我的程序从未退出(我是否必须关闭某些客户端!?)即使我连接了一个日志中间件,它也从未打印过请求
我接下来尝试了@li-haoyi 的请求库,没有返回错误:
上面的代码同样适用,uri
所以baseToken
不可能是我的令牌是错误的。可以肯定的是,我尝试了 curl:
此问题也发生在http4s v0.18.19
(即使使用显式Json
和接受标头):
所以我的问题是:
- 为什么两者都
requests
工作curl
但http4s
给我 401 相同的请求? - 为什么我的
http4s
版本永远不会退出? - 为什么请求记录器中间件不记录请求?
scala - 猫效应:如何将 Map[x,IO[y]] 转换为 IO[Map[x,y]]
我有一个这样的字符串到 IO 的映射Map[String, IO[String]]
,我想把它转换成IO[Map[String, String]]
. 怎么做?
scala - 新版本中 fs2 (0.10.x) 中的 fs2.Scheduler 是什么
我正在将 fs2 0.10.x 版本迁移到 1.0.0 版本。
我们的代码fs2.Scheduler
从 fs2 版本 0.10.x 开始使用。
我不知道较新的 fs2 版本 1.0.0 中的等价物是什么。
我在这里浏览了迁移指南,但找不到从 0.10.x 到 1.0.0 或类似内容的迁移指南。
提前致谢。
scala - 类型不匹配; 在 sbt 中添加 scalac 选项 -Ypartial-unification 后发现:cats.Show[shapeless.CNil] 需要:cats.Show[A]
我有以下代码。
我必须在 build.sbt 中添加 scalac 选项-Ypartial-unification
来解决另一个问题,添加后我得到另一个之前没有发生的异常(没有标志)。
错误是 -
如何解决此错误?
scala - 猫效应:如何获得隐式 NonEmptyParallel
我正在尝试使用 parMapN 函数,但无法编译代码。如果我的类型是 IO 那么没有问题,但是当我在我的函数上使用类型时,我无法让它工作。
在下面的代码片段中,有 randomMessage 可以正确编译和运行,但调用 randomMessageF 不会编译,因为范围上没有隐式 NonEmptyParallel。但是,哪个隐式正在使用 randomMessage?传递 contextShift 也不起作用。
scala - 猫效应——独立效应的平行组合
我想组合IO
应该并行独立运行的多个值。
正如我所看到的,我必须选择:
- 使用具有分叉连接模式的猫效应纤维 /li>
- 将
Parallel
实例用于IO
withparMapN
(或其同级之一,如,parTraverse
等)parSequence
parTupled
/li>
不确定每种方法的优缺点,以及何时应该选择其中一种。当对效果类型进行抽象时,这变得更加棘手IO
(无标签最终样式):
typeclassParallel
需要 2 个类型构造函数,使用起来有点麻烦,没有上下文边界,并且有一个额外的 vague 类型参数G[_]
感谢您的指导:)
阿弥陀佛
scala - 在 monad 中工作时如何编写尾递归函数
一般来说,在“内部”单子中工作时,我很难弄清楚如何编写尾递归函数。这是一个简单的例子:
这是来自我正在编写的一个小型示例应用程序,以更好地理解 Scala 中的 FP。首先提示用户输入一个Team
由 7Player
秒组成的。这个函数递归地读取输入:
现在我想要实现的(主要用于教育目的)是能够@tailrec
在def go(team: Team)
. 但是我不认为有可能将递归调用作为我的最后一个语句,因为据我所知,最后一个语句总是必须将我的“提升”Team
到 IO 单子中。
任何提示将不胜感激。
scala - scala 猫模棱两可的隐含值
但是我从编译器中得到了这个神秘的错误