inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

지연 평가 + Promise - L.map, map, take

for of vs while

해결된 질문

356

쿠크다스

작성한 질문수 16

2

안녕하세요.

코드를 작성하면서 실습하는 중입니다. 실습할 때, for of 구문을 이용해서 코드를 작성했는데 이번 take 함수는 의도에 맞게 동작하지 않더라고요. reduce 함수는 for of 구문을 작성해도 잘 작동했는데 이유가 뭘까요?

const go1 = (a, f) => a instanceof Promise ? a.then(f) : f(a);
const reduce = curry((f, acc, iter) => {
if (!iter) {
iter = acc[Symbol.iterator]();
acc = iter.next().value;
}
return go1(acc, function recur(acc) {
for (const e of iter) {
acc = f(acc, e);
if (acc instanceof Promise) return acc.then(recur);
}
return acc;
});
});
const take = curry((l, iter) => {
let res = [];
return function recur() {
// if(e instanceof Promise) return .then(e => {...}) closure에 담긴 iter 상태가 closed로 변경
// for (const e of iter) {
// if(e instanceof Promise) return .then(e => {...}) 문을 만나도 iter가 closed가 되지 않음
let cur;
while (!(cur = iter.next()).done) {
const e = cur.value;
if (e instanceof Promise) return e.then(e => {
if (res.length == l) return res;
res.push(e);
return recur();
})
if (res.length == l) return res;
res.push(e);
}
return res;
}();
});

함수형-프로그래밍 javascript

답변 3

2

MDU 유인동

https://www.inflearn.com/questions/17067

이 질문이 같은 질문인거 같아요. :)

0

쿠크다스

와 빠른 답변 감사합니다. 잘 읽어볼게요~

0

쿠크다스

들여쓰기가 적용이 안되네요 ㅜㅜ 번거롭겠지만 코드 보기 힘드시면 IDE에 복사 붙여넣기 하면 좋을것 같아요~

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

1

111

1

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

0

72

2

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

0

52

1

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

0

113

1

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

1

463

1

pipe함수

1

530

1

Identity 함수

0

450

1

함수형 프로그래밍이란

0

831

1

reduce 예제 코드 제안!

0

404

1

fxts를 배워보려고 합니다.

1

537

1

flatMap 관련 질문드립니다~

1

444

1

다용성이 높은 L.flatMap

0

357

1

변수에 재 할당 금지~

0

540

1

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

0

483

2

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

1

457

1

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

0

465

2

reduce에 L.range를 사용할 때

0

526

2

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

3

738

2

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

2

787

3

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

1

498

1

안녕하세요 강사님!

0

379

2

fxts에 go가 없는 이유?

0

839

1

비동기 관련 질문입니다!

0

460

1

질문 있습니다.

0

515

1