¿Es posible crear una declaración if else que dependa de si se llamó o no a una determinada función? Si es así, ¿cómo defino eso en la declaración if/else?
por ejemplo:
function getUseLocators(){ if (a function named 'function01' or 'function02' was called) { return true; } else { return w.checkUseLocators.value; } }No existe tal cosa como "se llamó a la función" en JavaScript nativo, podría hacerlo con una función de orden superior como esta:
function function01() { console.log('function01'); } function function02() { console.log('function02'); } const [makeObservableFunction, wasCalled] = (function() { const called = []; function make(func, name) { return function(...args) { called.push(name); func(...args); } }; function wasCalled(name) { return called.includes(name); }; return [make, wasCalled]; })(); const observableFunction01 = makeObservableFunction(function01, 'function01'); const observableFunction02 = makeObservableFunction(function02, 'function02'); function getUseLocators() { console.log(wasCalled('function01') || wasCalled('function02')); } getUseLocators(); observableFunction01(); getUseLocators();Deberá almacenar el estado para averiguar si se llamó.
let wasCalled = false; function one(){ wasCalled = true; } function two(){ if (wasCalled) { console.log('One was called'); } else { console.log('One was not called'); } } two(); one(); two();