-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
take 내부의 이터레이터 클로저에 대해
19.11.27 13:52 작성 조회수 247
2
while (!(cur = iter.next()).done) {
let a = cur.value;
를
for (const a of iter) {
로 바꾸면 비동기상황에서 iter를 기억하지 못해서 하나만 take하게 되더라구요.
두 문법이 같은 걸로 알고있는데 for of 내부의 이터레이터는 클로저로 사용될수없나요? 이런경우엔 while밖에 쓸수없는건가요?
클로저로 사용되려면 함수내부에서 표현식 안에 갖혀있어야된다는 조건? 같은게 있나요?
답변을 작성해보세요.
3
iternity
질문자2019.11.28
아ㅋㅋ for of문은 루프 중간에 끊기는 경우에 이터레이터의 리턴메소드를 강제로 실행시켜버리는 구문이 있었네요
처음 알았습니다
답변감사합니다
3
0
유인동
지식공유자2019.11.27
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Generator/return
이걸 보신 후
babel에서 for...of 를 테스트해보세요. :)
답변 4