Promise.all()
안녕하세요! 강의 듣다가 이해가 안가는 부분이 있어서 질문 드립니다.

blogs.map()으로 blogs 배열의 1개의 data가 완료되면 다음 인덱스의 data가 실행되는 구조이고 res1과 res2는 await으로 구현해서 기존의 promise.all()을 쓰지않은것과 같이 실행될꺼같은데 어떻게해서 "병렬적이면서 순차적"으로 실행되는지 좀만 더 자세한 설명 부탁드려도 될까요?
감사합니다!
답변 2
1
Dev님 안녕하세요 :)
map 안에 blog마다 res1을 받고 그 다음에 res2를 받는부분은 순차적이에요.
async blog => { 이 안에서 두번의 Promise(api호출)을 await하는데 이건 순차적으로 실행이 되요 }
그리고 이건 보시면 함수에요. 근데 async가 달린 함수이죠. 즉 이 함수는 Promise를 리턴하는거에요.
이 Promise 안에 두개의 Promise가 순차적으로 진행되는거구요.
blog.map(async blog => {}) 따라서 이거는 Promise를 배열로 리턴하게 됩니다.
await Promise.all([Promise])가 되는건데요. 이부분이 병렬"적"인거에요.
API 호출 한번당 1초가 소요된다고 가정해볼게요
실행블로그가 만약 10개 있다고 하면 20(10 x 2)번의 API호출이 있겠죠.
만약 모든게 순차적으로 기다리고 호출이 된다면 대략 20초 정도 소요될거에요.
근데 이 경우 2개의 묶음을 10번 병렬적으로 호출하기 때문에 대략 2초 정도면 처리가 될겁니다.
option usecreateindex is not supported 오류 나면은
0
146
1
Schemaless 특성을 재생시 검은화면이 나와요
0
240
1
user 내장 시 ref 필드 필요성
0
239
1
await 관련해서 질문드릴게 있습니다!!
0
292
2
섹션6의 3번째 강의 faker파일이 어디있나요?
0
308
1
$elemMatch 질문이 있습니다.
0
245
1
DB 업데이트에 실패했을 상황에서 대처는 어떻게 할 수 있나요.
2
765
2
블로그에 user 데이터를 추가하는 방법에 대해서
0
237
1
blog 데이터 생성시 user 관련 오류
0
351
1
age 예외 처리를 별도로 하신 이유가 궁금합니다.
2
301
2
delete 메소드가 많은 이유가 궁금합니다.
0
181
1
unique validation 처리
0
296
1
updateMany에서 user._id를 못찾는 상황
1
396
1
find() 가 리턴하는 instance member
1
431
3
몽고 db를 백업방법을 부탁합니다.
0
603
1
인덱스 생성시점
0
712
1
$pull 문법에 대한 질문
0
359
1
comment의 id가 생성되는 시점
1
301
1
리팩토링 강의에서 라우터 리팩토링 전개연산자(...)
1
315
1
session.abortTransaction()에 대한 실제 예시 문의
0
287
1
섹션9 Computed Fields 강의에서, 다음 강의 가기 전 빠진부분
-1
407
1
faker 패키지 취약성 이슈
1
485
1
라우터 리팩토링
0
341
1
섹션4 진행중, mongoose 질문
0
309
1





