각도 1.5.3 앱을 쓰고 있습니다. 내 메인 '홈'페이지 컨트롤러에서 $ http와 함께 2 개의 다른 끝점을 호출합니다. 두 종점은 서로 관련이 없으며 별도의 데이터 등이 있습니다. 두 종점에 오류가있는 경우 내 사용자에게 2 개의 오류 메시지가 표시됩니다. 메시지가 동일하거나 다를 수 있습니다 (예 : 인터넷에 연결되지 않는 경우가 있음).AngualrJS - 여러 HTTP 오류 메시지로 유용성을 관리하는 방법?
FirstService.request()
.then(handleFSSuccess)
.catch(handleError);
SecondService.request()
.then(handleSSSuccess)
.catch(handleError)
function handleError(error) {
ErrorService.showErrorBanner(error);
}
내가는 $ q.all 기능을 사용할 수 없습니다 또는 첫 번째 약속은 내가 두 번째 계속하려면 실패하더라도 때문에 체인 약속드립니다.
하나 또는 모두 실패하더라도 관계없이 모든 약속을 실행하는 방법을 잘 모르겠습니다. 단 하나의 오류 배너 만 표시합니다. 하나의 오류 배너 만 표시하면 다른 오류 메시지가 표시되지 않을 수 있습니다 (하나 이상의 오류 배너가 표시되지 않도록).
하나만 표시되면 사용성이 더 좋습니다.
이 hasErrorShown''와 같은 사용자 정의 부울 플래그를 사용하여 당신을 돕고, 희망 필터링 할 수 있습니다 해당 플래그가 false로 설정된 경우에만 showErrorBanner입니다. –
showErrorBanner() 함수에서 배너가 표시되거나 존재하는지 먼저 확인한 다음 처리 할 수 있지만 두 개의 배너를 인스턴스화하지 않고 단지 하나만 만들고 표시하거나 숨기거나 DOM에 플래그를 지정하거나 확인 – Ferus7