github如何实现一个once函数

这篇文章主要介绍“github如何实现一个once函数”,在日常操作中,相信很多人在github如何实现一个once函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”github如何实现一个once函数”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

简单实现如下:

function once (f) {
  let result
  let revoked = false
  
  return (...args) => {
    if (revoked) return result
    const r = f(...args)
    revoked = true
    result = r
    return r
  }
}
 
> const f = () => {console.log('call'); return 3;}
< undefined

> once_f = once(f)
< (...args) => {
    if (revoked) return result
    const r = f(...args)
    revoked = true
    result = r
  }

// 第一次调用
> once_f()
< call
< 3

// 第二次调用,没有打印 call
> once_f()
< 3

到此,关于“github如何实现一个once函数”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!