首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数javascript读取、异步、写入结果

函数javascript读取、异步、写入结果
EN

Stack Overflow用户
提问于 2016-05-14 03:54:50
回答 1查看 130关注 0票数 3

我现在正在阅读fp的基本指南。但是我不知道如何正确地组合这些函数。

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

发布于 2019-07-12 09:27:08

将ios更改为futures。

代码语言:javascript
复制
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>中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37218372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档