Estoy haciendo un pequeño módulo reutilizable para mi uso. y me detuve en un punto de mi código que es, ¿cómo puedo asegurarme de que el consumidor de mi módulo haya llamado a una función que le proporcioné o no en uno de los métodos de mi módulo?
Básicamente, la API del módulo se parece al método forEach, donde mi módulo pasa argumentos internos tal como funciona forEach
myModule.myMethod(callbackFunc, z) myModule llama internamente a su callbackFunc con los siguientes argumentos: anotherFunc , x , y
myModule.myMethod((anotherFunc, x, y) => { if (x == true) anotherFunc() }, z) ¿Cómo puedo saber si el consumidor de myMethod ha llamado passed_function o no?
Suponiendo que anotherFunc es algo que crea internamente, puede escribirlo para que actualice un booleano, y luego puede verificar ese booleano. Por ejemplo:
function myMethod(callback, z) { let hasBeenCalled = false; const anotherFunc = () => { hasBeenCalled = true; // ... } callback(anotherFunc, 'hello', 'world'); if (hasBeenCalled) { console.log('they called it!'); } }