JavaScript
- Promise.all의 기능과 필요한 이유에 대해 설명
- 여러 개의 비동기 테스크를 동시에 실행하고 마지막 테스크가 완료될 때 다 끝낸 프라미스들을 배열로 반환하기 때문에, 가장 실행시간이 긴 프라미스가 완료되기까지 걸리는 시간이 곧 Promise.all의 완료시간이 되기때문에 각각의 프라미스를 순차적으로 실행하는것보다 시간을 더 단축할 수 있음
- 다만 배열중 하나의 프라미스가 오류가 발생할 경우, Promise.all은 거부됨. -> 오류가없는 프라미스의 호출은 계속 일어나지만 결과가 나오지 않음.
- 비동기의 실행시간을 단축시킬수 있지만, 순서가 제어 되지 않기때문에 순서가 중요한 경우는 Promise.all을 사용하면 안됨.
- 순수함수란? 불변성과 사이드 이펙트와 연결하여 설명
- 순수함수란 어떤 입력값에 대해 항상 동일한 출력값을 가짐(불변성). 부수효과는 없음
- 외부상태에 영향을 주거나 변화를 주는 함수가 아니기때문에 부수적으로 발생할 수 있는 사이드 이펙트가 없음
그렇기때문에 유지보수할 때 순수함수가 아닐때 보다 더욱 편리하게 할 수있음. - 순수함수가 아닌 예) 전역변수가 함수내에서 변경될 때, 파일을 불러올 때, 네트워크(fetching) Math.random 함수 등
'Today I learned! > 오늘 하루 배운 것, 기억할 것' 카테고리의 다른 글
[js/css/styled-component] 220704 (0) | 2022.07.04 |
---|---|
220628 (0) | 2022.06.28 |
자바스크립트에서 빈 배열인 변수와 []가 비교가 안되는 이유 (0) | 2022.05.10 |
기존 배열을 수정하는 메서드와 새로운 배열을 반환하는 메서드 (0) | 2022.05.10 |
220428(html,css,js) (0) | 2022.04.28 |