여러 상태 (경로)가있는 Angular JS 응용 프로그램을 백 엔드에서 실행중인 노드 서버 (소켓)와 연결하고 있습니다. 다른 상태를 방문하여 소켓 코드가 작성된 상태로 돌아 오면 다시 등록되고 이벤트가 발생하면 여러 번 함수가 호출되어 성능에 영향을줍니다. AngularJS 응용 프로그램에서 상태 전환시 소켓 이벤트가 여러 번 발생합니다.
var socket = io.connect('127.0.0.1:3000');
socket.on("connect",function(){
console.log("connected");
});
socket.on("test-channel:App\\Events\\NewMessage", function(message) {
if (vm.questions.length < 3) {
console.log("question fetching started");
vm.fetch_q();
}
});
는 또한 서비스의 io.connect ('로컬 호스트')를 넣어 시도하고 컨트롤러에서 이벤트 만 넣어,하지만 또한 여러 번 해고된다.
무엇이 당신의 질문입니까? 컨트롤러를로드 할 때마다 'var socket = io.connect ('127.0.0.1:3000');'명령을 포함하여 내부의 코드가 실행되므로 서버에 다시 연결하려고 시도합니다. 연결 코드를 별도의 서비스로 이동하고 앱 전체에서 서비스를 사용하십시오. – Elad
나는 넣어 봤는데 var socket = io.connect ('127.0.0.1:3000'); 또한 서비스에 넣고 socket.on ('event', function() {}) 이벤트를 컨트롤러에 넣고 여러 번 호출하게됩니다. 문제는 socket.on ("connect", function() { alert ("connected"); })입니다. 페이지를 다시 방문 할 때마다 이벤트가 시작됩니다. –