fp-ts - FP-TS 的 IO 消耗

标签 fp-ts

此代码中 forEach 部分的惯用 fp 替代方案是什么

const ios: IO<void>[] = [...]
ios.forEach(io => io());

有一些文档使用 Foldable 中的 sequence_,但它在 [email protected] 中不再可用。 。

编辑:

我能做的最好的就是

import { array } from 'fp-ts/lib/Array';

array.sequence(io)(ios)();

但是sequence收集结果,而我实际上与void[]没有任何关系。

最佳答案

我也想知道同样的事情。以下似乎有效。

import { IO, io } from 'fp-ts/lib/IO';
import { traverse_ } from 'fp-ts/lib/Foldable';
import { array } from 'fp-ts/lib/Array';
import { identity } from 'fp-ts/lib/function';
import { log } from 'fp-ts/lib/Console';

const actions: Array<IO<void>> = [log('hello'), log('world')];
const action: IO<void> = traverse_(io,array)(actions,identity);

关于fp-ts - FP-TS 的 IO 消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57166423/

相关文章:

concurrency - 如何限制 fp-ts 中的并发

typescript - 如何避免 fp-ts 中的嵌套 Monad 或优雅地处理它们?

typescript - 并行运行一组 TaskEithers,但如果 1 个或多个任务失败则继续

typescript - 将一些异步任务链接到fp-ts中,以保留每个任务的结果

typescript - 有没有点自由的方式来做 O.alt?

typescript - 使用 FP-TS 合并类型结构

typescript - 在 fp-ts 中,如何组合 2 个(或更多)Ord 实例

javascript - 函数式编程中的nodejs createReadStream

javascript - TaskEither sequenceArray 函数处理不同类型返回类型的问题