【问题标题】:IO consuming with FP-TS使用 FP-TS 消耗 IO
【发布时间】:2019-07-23 14:28:58
【问题描述】:

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

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

?

有些文档使用来自Foldablesequence_,但在 fp-ts@2.0.3 中不再可用。

编辑:

我能做的最好的就是

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

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

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

【问题讨论】:

    标签: fp-ts


    【解决方案1】:

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

    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);
    
    

    【讨论】:

    • 所以基本上sequence_sg =&gt; xs =&gt; traverse_(sg, array)(xs, identity)。很高兴知道。
    猜你喜欢
    • 2021-05-10
    • 1970-01-01
    • 2016-10-27
    • 2021-08-01
    • 1970-01-01
    • 2022-09-25
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多