2016-08-10 5 views
0

AngularJS에서 데이터 집약적 인 응용 프로그램을 만들고 있습니다. 페이지가 외부 API에서 데이터를 가져올 때로드하는 데 약 10 초 걸리는 것으로 나타났습니다.AngularJS에서 느린 외부 API 요청

지금까지 데이터 캐시에 각도 캐시를 사용해 보았습니다. 먼저 백그라운드에서 데이터를 선제 적으로 가져 오도록 웹 작업자를 조사하지만, 얼마나 어려울 지 알지 못합니다. ng-webworkers를 사용하려고합니다. 그것으로 로딩을 서두르려고 할 수있는 다른 가능한 솔루션이 있습니까?

+0

클라이언트 측에서 수행하는 작업으로 외부 API의 네트워크/처리 속도가 향상되지 않습니다. 외부 API에서 데이터를 선제 적으로 가져와 앱에 저장하여 사용하도록하는 자체 api를 만들지 않는 한이 컨트롤 외부에 있습니다. –

+0

친구가 외부 API를 통해 미러링 할 웹 서버를 구축 할 것을 제안했지만 과도한 작업이 많은 것처럼 보입니다. 이 일을 할 수있는 준비가 된 오픈 소스 애플리케이션이 있습니까? –

+0

에 달려 있습니다 ... 어떻게 실시간으로 데이터가 필요합니까? 최대 분 데이터가 필요하다면 전체적으로 많은 이득을 얻지 못할 것입니다. –

답변

0

더 많은 것을 알지 못하면 대답 할 수 없지만 몇 가지 팁이 있습니다.

서버 API 요청이 느린 경우 클라이언트 응용 프로그램에서 수정할 수있는 일이 많지 않습니다. 그 대신 고쳐 봐.

캐싱은 두 번째로드에 도움이 될 수 있지만 초기로드에는 도움이되지 않습니다.

웹 작업자는 클라이언트 CPU 바운드 작업에 더 많은 역할을하므로 서버가 응답하기 만하면됩니다. 그래서 도움이 될지 의심 스럽네요.

전화가 많이 걸리는 경우 전화를 한꺼번에 보내거나 보급하고 있습니까? 아키텍처에 따라 이상적인 동시 요청 수가 발생할 수 있습니다.

+0

불행히도 API를 제어 할 권한이 없습니다. 웹 작업자를 선제 적으로 데이터를 가져올 수 있습니까? –

+0

"preemptively"? redis 캐시 또는 무언가를 시도하십시오 –

+0

데이터를 선제 적으로 가져 오기 위해 웹 작업자가 필요하지 않습니다. 웹 요청은 비동기 적입니다. 표시되기 전에 데이터가 필요하다는 것을 알고 있다면 언제든지 요청할 수 있습니다. –