美文网首页
js链式调用

js链式调用

作者: Eileen_1d88 | 来源:发表于2021-03-10 13:25 被阅读0次
    function myFun(name) {
      myFun.name = name
      return myFun
    }
    myFun.stack = []
    myFun.play = function(str) {
      var fn = () => {
        console.log(`${myFun.name}玩${str}`)
      }
      myFun.stack.push(fn)
      myFun.next()
      return myFun
    }
    myFun.sleep = function(wait) {
      var fn = () => {
        console.log(`休息${wait}分钟`)
        setTimeout(() => {
          myFun.next()
        }, wait * 1000)
      }
      myFun.stack.push(fn)
      return myFun
    }
    myFun.eat = function(food) {
      var fn = () => {
        console.log(`${myFun.name}吃${food}`)
      }
      myFun.stack.push(fn)
      myFun.next()
      return myFun
    }
    myFun.next = function() {
      var fn = myFun.stack.shift()
      fn && fn()
    }
    
    myFun('张三')
    .play('足球')
    .play('篮球')
    .sleep(3)
    .sleep(3)
    .sleep(3)
    .eat('food')
    
    

    相关文章

      网友评论

          本文标题:js链式调用

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