const someFailedAction = (caseIds, growlMessages) => {
if (caseIds.length > 1) {
toastr.error(growlMessages[0], errorToastrOptions);
} else if (isCaseDetailsDisplayed) {
toastr.error(growlMessages[1], errorToastrOptions);
} else if (errorParts.fieldIds.length === 0) {
toastr.error(growlMessages[2], errorToastrOptions);
} else {
toastr.error(growlMessages[3], errorToastrOptions);
}
}
나는 다른 케이스 액션의 실패에서 실행되는 위와 같은 조건문을 많이 가지고 있습니다. 액션의 대부분은 동일한 if/elseIf 구조체를 가지고 있지만, 일부는 추가 elseIf 또는 하나 이상의 뺄셈을가집니다. 난 그냥 긴, 중첩, 반복적 인 스위치 문을하지 않고 유형과 메시지의 배열에 전달할 수있는 좋은 디자인 패턴이 있다면타입을 전달하고, 조건부를 통과하고, 객체를 반환하기위한 좋은 디자인 패턴은 무엇입니까?
const SomeOtherFailedAction = (caseIds, growlMessages) => {
if (caseIds.length > 1) {
toastr.error(growlMessages[0], errorToastrOptions);
} else if (isCaseDetailsDisplayed) {
toastr.error(growlMessages[1], errorToastrOptions);
} else {
toastr.error(growlMessages[2], errorToastrOptions);
}
}
은 궁금했다.
에 한 번 함수를 호출 내부'당신이 각 조건에서 거의 같은 라인이 someFailedAction' 기능 :'toastr.error (growlMessages [% 인덱스 %, 옵션); 'someFailedAction'의 끝에서'error' 호출을하는 것이 낫지는 않을 것입니다. 그러나 각 조건에서'growlMessages'에 대해'index'를 지정하십시오 – Andy
'isCaseDetailsDisplayed'와'errorParts'는 어디에서 왔습니까? – Bergi