nodejs를 사용하여 여러 Java 인터페이스를 요청하고 최종적으로 페이지를 렌더링하기 위한 모든 데이터를 가져와야 한다면 어떻게 속도를 향상시킬 수 있나요?예전에는 이랬습니다
매우 느립니다. 그런 다음 async
이렇게 하면 속도가 조금 빨라지지만 여전히 매우 느립니다.
첫 번째 방법은 소요 시간이 모든 요청 시간의 합이기 때문에 느립니다. 두 번째 방법은 가장 긴 요청의 시간만 소요하므로 당연히 더 빠릅니다.최적화하려면 에서 수행해야 합니다. 렌더링 프로세스 또는 서버 측 요청 처리 프로세스가 최적화되었습니다
promise.all 같은 것만 사용해도 되는데 좋은 방법이 있으면 알려주세요.
이 문제는 실제로 렌더링 전략 문제입니다. 실제로 클라이언트에 보내기 전에 Node에서 모든 데이터 요청을 완료할 필요는 없습니다.
클라이언트에 데이터를 요청하는 이 단계를 완전히 적용하면 클라이언트는 ajax를 사용하여 데이터를 얻습니다. 이렇게 하면 모든 데이터를 얻을 때까지 기다릴 필요가 없습니다.
es6 구문의 새로운 Promise를 사용하여 콜백 블랙홀 상황을 구체적으로 해결할 수 있습니다.
두 가지 점을 고려해야 할 것 같습니다. 첫째, 모든 것을 이전 것에 의존합니까? 일부 요청을 병렬로 보내는 것이 가능합니까? 둘째, 우선 순위를 구별하고 클라이언트가 요청을 보내도록 할 수 있습니까? 결국 클라이언트 창이 너무 커서 클라이언트가 보낼 때 우선 순위 간의 관계가 명확해집니다. 중요한 요청이 먼저 전송됩니다. 사용자는 첫 화면을 로드할 때 이를 확인한 후 다음을 게시합니다.
첫 번째 방법은 소요 시간이 모든 요청 시간의 합이기 때문에 느립니다. 두 번째 방법은 가장 긴 요청의 시간만 소요하므로 당연히 더 빠릅니다.
최적화하려면 에서 수행해야 합니다. 렌더링 프로세스 또는 서버 측 요청 처리 프로세스가 최적화되었습니다
promise.all 같은 것만 사용해도 되는데 좋은 방법이 있으면 알려주세요.
이 문제는 실제로 렌더링 전략 문제입니다. 실제로 클라이언트에 보내기 전에 Node에서 모든 데이터 요청을 완료할 필요는 없습니다.
클라이언트에 데이터를 요청하는 이 단계를 완전히 적용하면 클라이언트는 ajax를 사용하여 데이터를 얻습니다. 이렇게 하면 모든 데이터를 얻을 때까지 기다릴 필요가 없습니다.
es6 구문의 새로운 Promise를 사용하여 콜백 블랙홀 상황을 구체적으로 해결할 수 있습니다.
두 가지 점을 고려해야 할 것 같습니다. 첫째, 모든 것을 이전 것에 의존합니까? 일부 요청을 병렬로 보내는 것이 가능합니까? 둘째, 우선 순위를 구별하고 클라이언트가 요청을 보내도록 할 수 있습니까? 결국 클라이언트 창이 너무 커서 클라이언트가 보낼 때 우선 순위 간의 관계가 명확해집니다. 중요한 요청이 먼저 전송됩니다. 사용자는 첫 화면을 로드할 때 이를 확인한 후 다음을 게시합니다.