Cộng đồng Hỏi & Đáp của Inflearn
take 내부의 이터레이터 클로저에 대해
Viết
·
487
2
while (!(cur = iter.next()).done) {
let a = cur.value;
를
for (const a of iter) {
로 바꾸면 비동기상황에서 iter를 기억하지 못해서 하나만 take하게 되더라구요.
두 문법이 같은 걸로 알고있는데 for of 내부의 이터레이터는 클로저로 사용될수없나요? 이런경우엔 while밖에 쓸수없는건가요?
클로저로 사용되려면 함수내부에서 표현식 안에 갖혀있어야된다는 조건? 같은게 있나요?
함수형-프로그래밍javascript
Câu trả lời 4
3
iternity
Người đặt câu hỏi
아ㅋㅋ for of문은 루프 중간에 끊기는 경우에 이터레이터의 리턴메소드를 강제로 실행시켜버리는 구문이 있었네요
처음 알았습니다
답변감사합니다
3
0
아 ! 필터 함수에서 만들어진 이터레이터가 reduce나 take 함수로 넘어오는거고 for...of 문을 순회하다가 중간에 재귀함수를 호출하면 제너레이터로 생성된 이터레이터에 리턴 메서드를 호출하게 되는걸까요 ?!
답변 감사합니다!! 🥹
0
mduniv
Người chia sẻ kiến thức
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Generator/return
이걸 보신 후
babel에서 for...of 를 테스트해보세요. :)







제너레이터로 생성된 이터레이터에 있습니다 :)