inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

함수형 프로그래밍과 JavaScript ES6+

go, pipe, reduce에서 비동기 제어

질문있습니다~

234

jjang9

작성한 질문수 36

0

 

 

const reduce = curry((f, acc, iter) => {
  if (!iter) {
    iter = acc[Symbol.iterator]();
    acc = iter.next().value;
  }
  return go1(acc, function recur(acc) {
    for (const el of iter) { ////////////////////////////////???????
      acc = f(acc, el);
      console.log(acc);
      if (acc instanceof Promise)
        return acc.then((res) => {
          console.log(res);
          recur(res);
        });
    }
    return acc;
  });
})

 

for of문을 돌리다 중간에 흐름이 멈추면 강제로 generator return 메서드를 사용해 흐름이 끊기게 되는데,

여기서는 어떻게 acc.then에서 다시 recur(res)를 할 때 멈춘시점의 iter의 값을 기억할 수 있는 걸까요?

https://www.inflearn.com/questions/17067 의 내용은 이미 확인한 상태입니다.

 

함수형-프로그래밍 javascript

답변 1

1

MDU 유인동

 https://github.com/marpple/FxJS/blob/master/Strict/reduce.js

강의에서 추후 while로 변경한 것으로 기억합니다 :)

0

jjang9

넵..! 그런데 for of 로 순회를 해도 정상적으로 작동되는게 이상해서 질문드렸습니다 ㅎㅎ..

0

MDU 유인동

예제의 상황에 따라 다를 수도 있을거 같아요 :)

프론트엔드 실무에서 어떤때에 쓰이는지 궁금합니다

1

121

1

함수형 프로그래밍 심화 강의 자료 추천

0

98

2

함수형 자바스크립트 프로그래밍 책

0

69

1

filter가 아무것도 걸러내지 못하는 경우

0

131

1

take 함수의 성능적면에서의 이점

1

486

1

pipe함수

1

538

1

Identity 함수

0

453

1

함수형 프로그래밍이란

0

840

1

reduce 예제 코드 제안!

0

405

1

fxts를 배워보려고 합니다.

1

540

1

flatMap 관련 질문드립니다~

1

451

1

다용성이 높은 L.flatMap

0

359

1

변수에 재 할당 금지~

0

543

1

DevTools라고 옆에 결과 확인하는거 어떻게 하나요?

0

486

2

소요시간에 관해서 질문드립니다

1

467

1

join에 대한 내용이 궁금증이 해결되지 않아서 질문드립니다!

0

468

2

reduce에 L.range를 사용할 때

0

529

2

[이해내용 공유] Lazy 에서 C.reduce가 병렬 효과를 내는 이유

3

747

2

제가 이해한 C.Reduce와 Reduce의 동작 차이 정리

2

799

3

go, pipe 함수 관련하여 질문 드립니다.

1

505

1

안녕하세요 강사님!

0

385

2

fxts에 go가 없는 이유?

0

847

1

비동기 관련 질문입니다!

0

465

1

질문 있습니다.

0

521

1