• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

왜 recur함수를 즉시 실행시켜야 하나요?

19.11.01 17:15 작성 조회수 187

0

recur 함수 안에서 재귀를 이미 부르고 있는데 

recur 맨 뒤 () 가 필요한 정확한 이유가 무엇일까요? 

const take = curry((l, iter) => {
  let res = [];
  iter = iter[Symbol.iterator]();
  return function recur () {
    let cur;
    while (!(cur = iter.next()).done) {
      const a = cur.value;
      if (a instanceof Promise) {
        return a
        .then(a => (res.push(a), res).length == l ? res : recur())
        .catch(e => e == nop ? recur() : Promise.reject(e));
      }
      res.push(a);
      if (res.length == l) return res;
    }
    return res;
  }();
});

답변 1

답변을 작성해보세요.

0

최초 실행을 해야하기 때문입니다. :)