TheSnegok
@TheSnegok

Что за принцип когда в параметрах выполняется функция?

Подскажите как называется подход когда есть вызов функции selectMovie и в неё передаётся параметр и
через запятую сразу выполняется ещё одна функция или что можно о таком почитать?
function selectMovie(selection,selectedMovie,rejectMovieSelection){
  setTimeout(() => {
    if(selection.time_taken <= DEFAULT_TIMEOUT){
  	  selectedMovie(selection.title)
    }else{
      rejectMovieSelection(`Your session has expired.`)
    }
  },DEFAULT_TIMEOUT)
}

const movie_obj = {
  payment: 21.25,
  ticket_price: 21.00,
  title: 'Adventures of Pickle Rick',
  time_taken: 200
}

selectMovie(movie_obj,(movie) => {
  console.log(`Movie selected: ${movie}`)
  getMovieTicket(movie_obj,(response) => {
    console.log(response);
  },(err) => {
    console.error(err);
  })
},(err) => {
  console.error(err);
})
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka
Токсичный шарпист
В параметрах никакие функции не вызываются.
Передаётся сама анонимная функция, которая вызывается внутри.
Называется это callback
Ответ написан
Комментировать
Italia1235
@Italia1235
Самый простой пример callback.

function sayHello(name) {
alert("Здравствуйте, " + name);
}

function process(callback) {
let name = prompt("Введите своё имя.");
callback(name);
}

processUserInput(sayHello);

https://ru.hexlet.io/blog/posts/javascript-what-th...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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