美文网首页
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