isLoading
, а свойство некого объекта изменять: flags.isLoading = false;
const PERIOD = 5000;
let timeout;
const action = () => {
console.log('Action!');
// this.switchNextTab()
clearTimeout(timeout);
timeout = setTimeout(action, PERIOD);
};
const flags = {
_isLoading: false,
set isLoading(value) {
this._isLoading = value;
if (!value) {
// isLoading стал false
action();
}
},
get isLoading() {
return this._isLoading;
},
};
timeout = setTimeout(action, PERIOD);
// где-то в коде:
flags.isLoading = true;
// ...
flags.isLoading = false; // тут же выполнится action
$length = 10;
array_map(fn() => new Apple(), array_fill(0, $length, NULL));
function makeMany(string $className, int $quantity)
{
return array_map(fn() => new $className(), array_fill(0, $quantity, NULL));
}
// использование
makeMany("Apple", 10);
makeMany("Orange", 20);
// или
makeMany(Apple::class, 10);
makeMany(Orange::class, 20);