@olya_097

Как бы это выглядело в es6?

  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
profesor08
@profesor08 Куратор тега JavaScript
Во первых, как ни крути, в твоем коде синтаксическая ошибка. У тебя там стоит одинокий слеш /, либо удали его, либо сделай двойным //, чтоб сошел за комментарий.

Во вторых, чуть что и твой код упадет. В третьих чуть что, и тебе надо менять свой код, а не просто подсунуть любую функцию на выполнение. Собственно синтаксис ES6 тебе хорошенько в этом деле может помочь.

const delayedFunction = (callback, delay) => {
  return (...args) => {
    setTimeout(() => {
      if (callback instanceof Function) {
        callback(...args);
      }
    }, delay);
  }
}

function someFunc(a,b,c,d,e) {
  console.log(a, b, c, d, e);
}

function someFunc2(...args) {
  console.log(args);
}

const df1 = delayedFunction(someFunc, 1000);
const df2 = delayedFunction(someFunc2, 2000);

df1("message 1", 1,2,3);
df2("message 2",5,6,7,8,9,0);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы