我现在正在阅读fp的基本指南。但是我不知道如何正确地组合这些函数。
const R = require('ramda');
const {IO, Future} = require('ramda-fantasy');
const read = () => IO(() => 'hello');
const write = (data) => IO(() => {
console.log(data)
return data;
});
const process = (data) => Future((reject, resolve) => {
return setTimeout(() => resolve(data), 0);
});什么是组合函数的最佳方式: read -> process -> write?
发布于 2019-07-12 09:27:08
将ios更改为futures。
const R = require('ramda');
const {Future} = require('ramda-fantasy');
const read = () => Future((reject, resolve) => resolve('hello'));
const write = (data) => Future((reject, resolve) => {
console.log(data)
resolve(data);
});
const process = (data) => Future((reject, resolve) => {
return setTimeout(() => resolve(data), 0);
});
read.chain(process)
.chain(write)
.fork(console.warn, console.log);期货就像异步ios,所以这两种类型之间的提升没有太大区别。如果你真的想以不同的方式对待它们,你可以像bergi建议的那样将monad嵌套到IO>中。
https://stackoverflow.com/questions/37218372
复制相似问题