js 链式调用

复制代码
function arrany(name) {
  let tasks = []
  tasks.push(() => {
    console.log(name)
  })
  function wait(duration) {
    tasks.push(() => new Promise(resolve => {
      setTimeout(resolve, duration)
    }))
    return this
  }
  function execute() {
    for (let task of tasks) {
      task()
    }
    return this
  }
  function dosomething(aa) {
    tasks.push(() => {
      console.log('do ' + aa)
    })
    return this
  }
  function waitFirst(dur) {
    tasks.unshift(() => new Promise(resolve => {
      console.log('first')
      setTimeout(resolve, dur)
    }))
    return this
  }
  return {
    wait,
    do: dosomething,
    waitFirst,
    execute
  }
}

function add(a, b) {
  console.log(a + b)
}

ret = arrany('test').wait(6000).do('111111').waitFirst(2000)
复制代码

 

posted @   howhy  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示