使用 FP-TS 消耗 IO
IO consuming with FP-TS
此代码中 forEach
部分的惯用 fp 替代项是什么
const ios: IO<void>[] = [...]
ios.forEach(io => io());
?
有些文档使用 Foldable
中的 sequence_
,但它在 fp-ts@2.0.3 中不再可用。
编辑:
我能做的最好的就是
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);
此代码中 forEach
部分的惯用 fp 替代项是什么
const ios: IO<void>[] = [...]
ios.forEach(io => io());
?
有些文档使用 Foldable
中的 sequence_
,但它在 fp-ts@2.0.3 中不再可用。
编辑:
我能做的最好的就是
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);