如何确保一个Node.js风格的回调只被调用一次



我正在寻找一个实用程序,将确保只执行回调的第一次调用。

我知道你可以做一些像下面的代码,但我正在寻找这个功能在一些流行的实用程序,如lodash/下划线/async,做的正是这个。

function once(fun){
  let called = false;
  return function(){
    if(!called){
      const result = fun(...arguments);
      called = true;
      return result;
    }
  }
}

下划线表示_.once

Lodash提供_.once

如果您将此用于异步代码,您可能会发现承诺提供了更好的抽象。


我正在寻找这个功能在一些流行的实用程序,如lodash/underscore/async

你是

?听起来你并没有去看。你有没有试着用谷歌搜索[你的库名][你给函数起的名字]?

最新更新