Последовательные события в JavaScript для функции on

#javascript #sequence

Вопрос:

Для видеоплеера существует 3 действия: play , pause и continue . Для continue действия оно определяется как play после бытия pause .

Если у меня уже есть 2 функции, определенные для play и pause :

 videoPlayer.on('play', function () {  //play video }); videoPlayer.on('pause', function () {  //pause video });  

У меня возникли проблемы с определением последовательного действия pause -gt; gt; play . Будет ли работать приведенная ниже функция continue ?

 videoPlayer.on('pause').on('play', function () {  //Continue video  })  

Комментарии:

1. Как это on определяется? Похоже, это может быть jQuery, у которого есть четкая методология создания новых событий, так что это будет так же просто, как videoPlayer.on('continue', function () { ... }); .

Ответ №1:

Если я правильно понял ваш вопрос, вы могли бы использовать обещания подождать, пока видео не будет приостановлено

 function playP() {  videoPlayer.on('play', function () {  //play video  }); }  function pauseP() {  return new Promise((res, rej) =gt; {  videoPlayer.on('pause', function () {  // do stuff  res(true);  });  }) }  pauseP().then((x) =gt; {  if (x)   playP(); })  

Этот код будет ждать, пока видео не будет приостановлено, чтобы начать прослушивание play события.