JackShcherbakov
@JackShcherbakov

Почему колбек срабатывает раньше, чем надо?

Написал код https://codepen.io/CitizenOne/pen/qxZmoP
Я пытаюсь сделать так, что бы колбек выполнялся всегда после основного кода функции. Колбек должен как бы ждать.
Что я делаю не так? Я же как и во всех статьях на эту тему передаю функцию в качестве аргумента.
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 3
Minifets
@Minifets
Hello world!!!
Колбек должен как бы ждать.


С чего вы решили, что callback должен ждать?

В вашем случае надо или так:
function callBack(func2){
  setTimeout(function(){
     console.log(1); 
     func2();
  }, 500);
}
callBack(function(){
  console.log(2);
});


Или так:

function callBack(func2){
  console.log(1); 
  func2();
}
callBack(function(){
  console.log(2);
});
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А в чём проблема, всё работает именно так, как вы задали.
Функция callBack устанавливает таймер и вызывает функцию, переданную ей в качестве параметра, выводится 2. Через 500 миллисекунд вызывается функция, переданная в таймаут, выводится 1.
Ответ написан
lavezzi1
@lavezzi1
Предполагаю вы хотели сделать что то подобное: https://jsfiddle.net/w2md0h6j/2/
Ответ написан
Ваш ответ на вопрос

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

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