函数式编程-folktale篇

在这里插入图片描述

简介
函子可以把我们控制副作用进行异常处理,还可以去处理异步任务,

因为在异步操作中会出现通往地狱之门的回调。

使用task函子可以避免出现回调的嵌套,因为异步任务的实现归复杂和这块使用了folktale,

这个库中提供的task函子来进行演示。folktale是个标准的函数式编程库,它和lodash、ramda不同的是,

它里面没有提供功能性的函数,比如lodash和ramda 的中都提供了很多数组和字符串操作相关的方法。

但是folk tale中只提供了一些跟函数式处理相关的操作,例如composed/curry/柯里化。

那它里边还提供了一些函子,比如task,maybe 、either等等,那接下来呢,

我们先来演示一下folk tale这个库中的compose和curry如何去使用,

那么稍后再去演示使用task函子处理异步任务
安装和演示
cnpm i folktale //安装

const { compose, curry } = require('folktale/core/lambda');

const { first, toUpper } = require('lodash/fp');

let arr1 = ['first', 'second'];

const result1 = compose(first, toUpper); //compose 组合函数 拿到第一个元素 第一个字符大写

console.log(result1(arr1)); //F

let result2 = curry(2, (num1, num2) => num1 + num2)

    //第一个参数2是为了指明 第二个函数里面有几个参数

console.log(result2(10, 20)); //30

console.log(result2(10, 990)); //1000

谢谢观看,如有不足,敬请指教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值