Как мне ввести только один раз в socket.on()

#angularjs #socket.io

#angularjs #socket.io

Вопрос:

Прямо сейчас я пытаюсь вызвать windows.print () внутри socket.on () с помощью кнопки, проблема в том, что когда я нажимаю кнопку несколько раз, она продолжает добавлять предыдущий вызов к новому.

https://imgur.com/oRpRYAX

Я уже достиг ожидаемого результата, но это явно ошибка:

 socket.on('PrintAnswer',function(msg){
    let print= msg;
    if(print=== userId){
        windows.print();
    }
    console.log("Printing= "  print);
    msg.end(); //  <--   Hax
});
  

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

Ответ №1:

Итак, я поместил код за пределы socket.on () и он заработал. Искал более чистый способ, но он работает.