Как зарегистрировать слушателя в ngOnInit и запретить ему посылать вызов функции-обработчику для каждой загрузки страницы в Angular? - PullRequest
0 голосов
/ 28 сентября 2018

Я использую Strophe.js для подключения к XMPP-серверу (ejabberd) в Angular6?

При загрузке страницы я добавил следующий addHandler (), чтобы активировать прослушиватель

ngOnInit()  {
connectionXmpp.connection.addHandler((msg) => {
 console.log(msg)
 //parse xml stanza return by xmpp
  $(msg).each(function () {
        $(msg).find("title").each(function () {
          latestMsg = JSON.parse($(this).html());

          // here logic after getting message
        })
    })
    return true;
}, null, 'message')
}

С помощью вышеуказанного кода слушатель регистрируется в методе ngOnInit (), но он получает список объектов (сообщений) с XMPP-сервера (ejabberd) каждый раз, когда загружается страница.

При загрузке я просто хочу зарегистрировать слушателя.Функция обработчика должна вызываться только тогда, когда XMPP-сервер (ejabberd) отправляет сообщение.

Как мне этого добиться?

Заранее спасибо.

...