Ich bin auf der Suche nach einem Dienstprogramm, das sicherstellen, dass nur der erste Aufruf des Rückrufs ausgeführt wird.So stellen Sie sicher, dass ein Node.js-Stil Rückruf es nur einmal aufgerufen wird
Ich weiß, dass Sie etwas wie Code unten tun können, aber ich suche nach dieser Funktionalität in einigen populären Dienstprogramm wie lodash/undercore/async, die genau dies tut.
function once(fun){
let called = false;
return function(){
if(!called){
const result = fun(...arguments);
called = true;
return result;
}
}
}
Ihre Implementierung sollte wahrscheinlich das Ergebnis von 'Spaß' zurückgeben, nur für den Fall – Eric
guten Punkt - ich würde es für Rückrufe verwenden, Rückrufe sollten keine Werte zurückgeben –
Vielleicht sollte die Rückkehr nach der Einstellung aufgerufen werden? – Eric