• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

return acc.then(recur) 이부분에 대해 이해가 잘안되네요

22.05.28 22:27 작성 조회수 184

0

const reduceFunc = (f, acc, iter) => {
    if (!iter) {
        iter = acc[Symbol.iterator]();
        acc = iter.next().value;
    }
    return go1(acc, function recur(acc) {
        for (const a of iter) {
            acc = f(acc, a);
            if (acc instanceof Promise) {
                return acc.then(recur);
            }
        }
        return acc;
    });
};
 
acc.then(recur)를 하면 재귀한 값(프로미스)가 리턴이 되면서 실행 컨택스트가 종료되고 go1함수가 바로 리턴이 되는걸로 보이는데, 실행해보면 또 그렇지 않네요,,, 리턴을 해도 내부에 실행 로직이 돌고있나요?
 

답변 1

답변을 작성해보세요.

0

재귀와 promise의 성공이 반복되면서 모든 일을 수행합니다 :)