2014-12-11 2 views
1

나는 ajax를 통해 두 개의 large-ish 파일을로드하고 처리해야하는 page을 가지고있다. 나는 그것들을 다운로드 할 필요가 있음을 미리 알고 있지만, 다른 큰 자바 스크립트 파일이로드되어 그들을 처리 할 준비가 될 때까지는 아약스 요청을 시작할 수 없다.XMLHttpRequest를 통해 요청할 자산을 어떻게 미리로드 할 수 있습니까?

결과적으로 커다란 자바 스크립트와 커다란 자산을 평행보다는 직렬로 가져 오는 것이 결국 거의 두 배나 빨라질 수 있다고 생각합니다.

브라우저에 이러한 애셋을 미리로드 할 수 있습니까?

아래 스크린 샷에서 을로드해야 base-2.91.wszllama-2.91.mp3을 다운로드하기 전에로드해야합니다.

enter image description here

답변

0

트릭을 할 것 jQuery.when() 것 같은데. 설명서에서 바로 :

$.when($.ajax("/page1.php"), $.ajax("/page2.php")).done(function(a1, a2) {  
    // a1 and a2 are arguments resolved for the page1 and page2 ajax requests, respectively.  
    // Each argument is an array with the following structure: [ data, statusText, jqXHR ]  
    var data = a1[ 0 ] + a2[ 0 ]; // a1[ 0 ] = "Whip", a2[ 0 ] = " It"  
    if (/Whip It/.test(data)) {  
    alert("We got what we came for!");  
    }  
}); 

이렇게 세 가지 호출이 모두 완료되면 세 가지 호출을 모두 실행하고 계속 진행합니다.

+0

초기 자바 스크립트 페이로드와 함께 이러한 리소스를로드하려고합니다. 내 자바 스크립트 앱이 다운로드되고 초기화되면 이미로드하기 위해 가지고있다. –

+0

production.min.js가'

관련 문제