美文网首页
js通过拦截器实现链式操作

js通过拦截器实现链式操作

作者: sorry510 | 来源:发表于2019-12-09 13:39 被阅读0次
const pipe = (function() {
    return value=> {
        const funcStack = []
        const oproxy = new Proxy({}, {
            get(pipeObject, fnName) {
                if(fnName === 'get') {
                    return funcStack.reduce((val, fn)=> fn(val), value)
                }
                funcStack.push(window[fnName])
                return oproxy
            }
        })
        return oproxy
    }
})()
var add5 = a => a+5
var pow = n => n * n
pipe(3).add5.pow.get // 64

相关文章

网友评论

      本文标题:js通过拦截器实现链式操作

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