问题标签 [arrow-kt]

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.

0 投票
2 回答
125 浏览

kotlin - 如何使用 Kleisli 访问调用链的每个函数中的上下文?

我有一些方法的调用链,我通过 Kleisli 传递上下文。基本上我想将上下文传递给数据库访问层,但我想在两者之间的任何地方访问这个上下文。

以下示例完美运行。我的问题是,我也想访问上下文OrderService.findAll(...)。我尝试了几种方法,但我一直失败。

是否可以访问那里的上下文,或者这没有任何意义?谢谢您的帮助 :)

0 投票
2 回答
758 浏览

kotlin - Kotlin 优雅的变异 List 方法三倍, 列表, 列表>

我想尽可能简洁(但清楚地)将 a 转换List<Triple<String, String, String>为 a Triple<List<String>, List<String>, List<String>>

例如,假设执行转换的方法被称为turnOver,我希望:

如何编写一个简洁、清晰、可能具有功能性的turnOver函数?

可以使用 Arrow-Kt,我已经将它作为项目依赖项。

0 投票
2 回答
415 浏览

kotlin - 如何链接返回 Validated、Option、Either 的函数?(单子变压器)

我有简单的三个函数返回arrow-kt数据类型

并且想要链接这样的东西(可以使用任何可用的功能而不是map

我能想出的唯一解决Validated方案是Option用. 有没有更好的功能方式让它在不更新现有功能的情况下工作?EitherflatMap

0 投票
2 回答
245 浏览

java - 是否可以将 Kotlin 的代理委托与现有的类/对象(即箭头的 Either)一起使用?

我有一些专门的类,我想使用 Kotlin 和 Arrow 创建它们,它们将环绕 Arrow Either monad。我创建了以下代码来使用 Kotlin 的委托,但我想知道它是否可以简化或变得更惯用。任何建议,将不胜感激。

感谢您的时间与兴趣。

0 投票
1 回答
127 浏览

kotlin - 带有协程的 webflux.fn:返回流表示成功,但正文中没有内容;为什么是空的?

我的任务是将一些基于 Reactor 的服务迁移到 webflux.fn + 协程。该服务会生成一个 png 罗盘图像。在从新的基于协程的服务返回给 Postman 之前,我看到了指南针的字节。在 Postman 中,我看到请求成功,但正文中没有内容;空的。我一直无法弄清楚为什么 Flow 返回成功但没有内容。我会很感激你的建议...

谢谢

0 投票
1 回答
133 浏览

kotlin - Kotlin - 倍数 IO 的组合

我是 Kotlin 的 Arrow 框架的新手,我有几个问题:

让我们假设

如何以“箭头时尚”的方式实现相同的功能?

我设法得到:

但我Suspension functions can be called only within coroutine body在第二个中获得bind()

编辑:我看到这个帖子有同样的问题。在提供的答案中,它说问题是未涵盖 left/none 选项。但是它被覆盖了,当申请map到 a时None,它预计会获得None.

0 投票
1 回答
388 浏览

kotlin - Kotlin 箭头 IO、IO.fx、IO 的区别!效果

我正在尝试在 kotlin 中使用箭头

箭头具有三个功能

我想知道这些之间的区别。我知道 IO.fx 和 IO.fx {!effect} 帮助我们使用副作用,但是两者之间的区别是什么,为什么我要使用一个而不是另一个

0 投票
1 回答
90 浏览

kotlin - 解构而不是 .bind() 在 Arrow Monad 理解中不起作用

根据 Arrow 的 Javadoc,有三种绑定 monad 的方法:

第一个和最后一个工作正常但是由于某种原因解构不能,为什么?

在下一个示例中,您可以看到我使用的是解构val (j) = helloJoey().k(),) but that value is interpreted as a Mono` 而不是字符串。

0 投票
1 回答
159 浏览

kotlin - 为什么是 !运算符与 Arrow Monad 理解中的 .bind() 相同?

我们可以bind()在 Arrow monad 理解中使用的一种方式是“大喊大叫”(第三个示例):

由于 Kotlin 的!运算符用于否定布尔值,您能解释一下它在 Arrow 中是如何以及为什么以这种方式工作的吗?

0 投票
1 回答
105 浏览

kotlin - 如何在 Arrow + Reactor Monad 理解中异步执行

在他下面的一段代码中,每个helloX()方法都是异步运行的(它是一个在单独的线程中运行的延迟 Mono),请参见下面的完整代码):

但是在日志中我看到它们是连续运行的:

一旦它们全部完成,我怎样才能让它们并行执行并在 monad 理解中聚合所有结果?

带有主要方法()的完整代码:

更新

我已经调整了该方法以将顺序操作与并行操作相结合:

不幸的是 parMapN 可以与 ForMonoK 一起使用:

想法?