@zwezew

Как вызвать функцию из ...spread?

В случае, когда надо передать несколько функций обратного вызова, как вызвать их из ...spread? И правильно ли использовать ... для этого?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Вопрос абсолютно непонятен, но попробую поугадывать:
const f = (...callbacks) => {
  // spread собирает аргументы в массив,
  // поэтому и работать с ними можно как с массивом
  callbacks.forEach((callback) => callback());
}

f(
  () => console.log(1),
  () => console.log(2),
  () => console.log(42),
);
Ответ написан
Если ты передаешь несколько переменных, и собираешь и в спред, ты получаешь массив переменных, так и тут, только элементами массива будут функции.
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
Почему не обойтись массивом функций?

function f (callbacks) {
  for (let i = 0; i < callbacks.length; i++) {
    callbacks[i]();
  }
}

f (
  [
    _ => console.log(0),
    _ => console.log(1),
    _ => console.log(10),
  ]
);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы