@VtzzzZZ

Как правильно отправить несколько функций в качестве колбека?

Имеется объект содержащий три метода
Нет ничего , что объединяет эти методы , кроме того , что они должны быть выполнены по порядку , при наступлении какого-либо условия

this.drawSomeButtons();
this.changeSomeVariables();
this.doSomethingElse();

тем не менее , мне нужно передать все эти три функции в качестве колбека . Скажем , чтобы построить кнопку которая запускает эти три процесса.
Является ли нормальной практикой создание нового метода , включающего в себя эти три метода например :
this.callbackToInterfaceButton = function () {
	this.drawSomeButtons();
	this.changeSomeVariables();
	this.doSomethingElse();text
}

исключительно для того , чтобы отправить этот метод в:
buildButton(this.callbackToInterfaceButton)
Как лучше всего решить эту задачу ?
Спасибо
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Является ли нормальной практикой создание нового метода , включающего в себя эти три метода

Если вам надо эти методы вот так вот вызывать в нескольких местах - определённо стоит сделать.

Но если случай единичный, можно просто передать в качестве коллбека функцию, которая будет содержать вызовы нужных методов. Типа так:

buildButton(() => {
  this.drawSomeButtons();
  this.changeSomeVariables();
  this.doSomethingElse();
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
Это нормальная практика. И даже хорошее решение. Я бы присмотрелся к ramda compose. Тогда и не придется вызывать функции, а просто как ссылки передать в f = R.compose(a,b,c)
А потом ее f передаешь в кол бэк для обработчика
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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