IO函子簡介
1、IO函子中的_value是一個函數,這裡是把函數作為值來處理
2、IO函子可以把不純的操作存儲到_value中,延遲執行這個不純的操作(惰性之行),包裝目前的操作
3、把不純的操作交給調用者來處理
案例示範
const fp = require('lodash/fp');
class IO {
static of(value) {
return new IO(() => {
return value
})
}
constructor(fn) {
this._value = fn
}
map(fn) {
return new IO(fp.flowRight(fn, this._value))
}
}
let result = IO.of(process).map((data) => {
return data.execPath
});
console.log(result); //IO { _value: [Function (anonymous)] }
console.log(result._value()); //C:\Program Files\nodejs\node.exe
謝謝觀看!!!