2017-11-13 6 views
0

브라우저 창을 수동으로 닫은 후 카르마 API를 사용하여 카르마 서버를 자동으로 닫으려고합니다.카르마 API의 browser_changed 이벤트 핸들러에서 업데이트 된 브라우저 목록을 얻는 방법은 무엇입니까?

... 
var karmaServer = new karma.Server(karmaOptions, done); 
karmaServer.on('browsers_change', stopServerIfAllBrowsersAreClosed); //for a full list of events see http://karma-runner.github.io/1.0/dev/public-api.html 
karmaServer.start(); 

function stopServerIfAllBrowsersAreClosed(browsers) { 
    if (browsers.length === 0) { 

    //double check since browser might only be closed temporarily due to connection issues 
    setTimeout(function() { 
     if (browsers.length === 0) { 
     karma.stopper.stop(); 
     } 
    }, 2000); 
} 
} 

윌 (관찰?) browsers 인수가 항상 브라우저 변경의 경우의 수를 갱신되기 때문에, 예상대로 코드가 작동?

또는 browser_change 이벤트가 연결 문제가 발생했을 때 길이가 항상 0이 될 것입니까?

카르마의 문서 컬렉션이 관찰인지 여부를 명시하지 않습니다

https://karma-runner.github.io/0.13/dev/public-api.html

를 문제가 해결되지 않으면, 당신은 수동으로 만 마지막 브라우저를 닫은 후 서버를 중지하기위한 대안 전략을 알고 네트워크 연결 문제가 아닌 창?

답변

0

브라우저 배열이 업데이트되지 않고 "다시 확인"이 작동하지 않는다는 것이 나왔습니다. 업데이트 된 브라우저 수를 얻는 방법을 찾지 못했습니다.

원치 않는 폐쇄 문제를 피하기 위해 karma.conf.js에서 browserDisconnectTimeout을 늘리는 데 도움이 된 것은 무엇 이었습니까?