나는 웹 소켓을 사용하여 값을 변경하는 웹 사이트의 콘텐츠를 얻으려고 시도하면서 casperjs를 사용하고 있습니다. 이렇게하려면 각 값에 이벤트 수신기를 추가하는 대신 10 초마다 전체 웹 사이트를 크롤링하기 만하면됩니다.casperjs 무한 루프 타임 아웃이 대기 중입니다.
나는 다음과 같은 코드가 있습니다
casper.waitForResource("http://website.com",function() {
getPrices(casper);
});
내부 getPrices, 나는 값을 폐기 할 수있어,과를 끝 난 다음 줄이 있습니다
setTimeout(getPrices(casper),5000);
문제가 있다는 것입니다을 나는 캐스퍼가 타임 아웃을 무시하는 이유를 모른다. 잠을 자지 않고 그냥 부르면됩니다. 반면에, 나는 이것이 재귀적이고 장기적으로 메모리 스택으로 끝날 것이기 때문에 이것이 최고의 해결책이라고 생각하지 않는다.
어떻게하면됩니까?
감사합니다!
와우! 그 빠른 답장을 보내 주셔서 감사합니다. 저는 여러분의 솔루션을 시도해 보았습니다. 그리고 이제 다시 호출됩니다.하지만 처음 실행하는 것을 보았습니다. 좋아요, 1 번 인쇄합니다. 다음 번에 배열을 두 번 인쇄합니다. 항상 인쇄. 다른 부분에서 방금 한 일을 설명해 주시겠습니까? 그 바인딩 (널, 캐스퍼) 무엇입니까? 감사! –
@gabrielmellace - 당신은'.bind()'[여기 MDN] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind)에 대해 읽을 수 있습니다. – jfriend00
@ gabrielmellace - "두 번 배열을 인쇄합니다"라는 것이 무엇인지 알지 못합니다. 귀하의 질문에 관련이 없습니다. – jfriend00