如何确保仅调用一次Node.js样式回调

时间:2016-09-19 13:15:20

标签: javascript node.js callback

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

我知道你可以做类似下面的代码,但是我在一些流行的实用程序中寻找这个功能,比如lodash / underscore / async。

function once(fun){
  let called = false;

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

1 个答案:

答案 0 :(得分:2)

下划线提供_.once

Lodash提供_.once

如果你将它用于异步代码,你可能会发现promises提供了更好的抽象。

  

我在一些流行的实用程序中寻找此功能,例如lodash / underscore / async

你是吗?听起来你实际上并没有看起来。您是否尝试使用Google搜索[您的图书馆名称] [您提供的功能名称]?