Отправить сообщение и ждать ответа

Как я не хотел работать с javascript, но пришлось.

Вопрос к знатокам: есть ли возможность отправить запрос (кастомный, из paho js клиента через mqtt), а потом дожидаться ответа (ответ тоже является сообщением mqtt-протокола)? Вопрос даже не касается, как такового протокола mqtt. В общем, есть ли решение для javascript узнавать сработала та или иная функция или произошло то или иное событие с учетом времени начала работы функции?

Логика

  1. Отправляю сообщение от клиента No1
  2. Запускаю таймер
  3. Жду 5 сек
  4. Если пришло обратное сообщение от клиента No2, то вывожу ok
  5. Если не пришло обратное сообщение от клиента No2, то not ok

В любом случае приложу, то чем сейчас пользуюсь

На данный момент имею полностью рабочего клиента paho js. Соответственно, отправка и прием сообщений возможны в любых видах, но использую JSON.

Что имеем

функция для подключения к mqtt-брокеру

'onConnect': function() {
  websocketclient.connected = true;
  this.subscribe(websocketclient.mac);
  console.log("Connected!");
  setInterval(function() {
    websocketclient.render.connectionPing();
  }, 30000);
},

и функция для отправки pinga другому клиенту

'connectionPing': async function() {
  let mes = {
    ["connected"]: 1
  }
  websocketclient.publish(websocketclient.mac + "/command", mes);
},

из кода видно, что я отправляю каждые 30 сек запрос. И после отправки запроса я и хочу проверять получил ли я обратное сообщение в течении 5 сек или нет. Это возможно?


Ответы (0 шт):