IO函子

作者: 湘兰沅芷 | 来源:发表于2021-08-29 13:56 被阅读0次

    1.IO函子中的_value是一个函数,这里是把函数作为值来处理
    2.IO函子可以把不纯的动作存储到_value中,延迟执行这个不纯的操作(惰性执行),包装当前的操作纯
    3.把不纯的操作交给调用者来处理

    // IO函子
    const fp = require('lodash/fp')
    class IO {
      static of (value) {
        return new IO(function () {
          return value
        })
      }
      constructor(fn) {
        this._value = fn
      }
      map(fn) {
        return new IO(fp.flowRight(fn, this._value))
      }
    }
    let r = IO.of(process).map(p => p.execPath)
    console.log(r._value())
    

    相关文章

      网友评论

          本文标题:IO函子

          本文链接:https://www.haomeiwen.com/subject/oyywiltx.html