렌더링하는 데 약 3 초가 소요되는보기가 있습니다. 그 시간 동안 사용자는 페이지에서 어떤 일도 일어나지 않습니다. 회 전자를 추가하려고 시도했지만 회전하지 않아 막혔습니다. JS 코드가 끝날 때까지 브라우저가 대기 중이므로 그 때까지 회 전자를 제어 할 수 없기 때문에 이것이라고 가정합니다. 그래서 JS 코드가 3 초 동안 실행되고 브라우저가 그 시간 동안 아무 것도 할 수 없다면 그걸 어떻게 최적화 할 수 있습니까? 프레임 워크를 사용하지 않았다면 코드를 여러 개의 덩어리로 나눠서 타임 아웃으로 실행할 수는 있었지만 링크 단계에서 Angular를 사용하여 코드를 수행하는 방법을 모를 수있었습니다.각도 연결 단계에서 스피너 표시
업데이트 :
문제를 설명하기 위해 jsfiddle이 추가되었습니다. 코드 실행이 루프 내에있을 때 회 전자가 회전하지 않습니다.
<img src="http://content.markitcdn.com/corporate/ResourceManager/9Iy-xMz_zHH-zXFAlhM-KA2/d/f/635151312565356632/Content/Images/Icons/General/spinner2.gif" alt="">
<script>
console.log('entering loop')
for (var i=0;i<300000000;i++) {}
console.log('leaving loop')
</script>
외부 리소스를 호출하지 않아도됩니다. 비동기라고 말한 이후입니다. 문제는 각도가 DOM을 _synchroniously_ 컴파일하고 그 시간 동안 브라우저에 제어를 반환하지 않는다는 것입니다. 당신의 솔루션은 내가 원하는 것과 반대되는 비동기 상황을 목표로 삼고있는 것 같습니다. –