2017-03-07 3 views
3

typescript에서 generator 함수를 사용하려고합니다. 그러나 컴파일러는 아래typescript에서 generator 함수를 사용하는 방법

error TS2339: Property 'next' does not exist on type

내 코드의 가장 가까운 샘플입니다 오류를 발생시킵니다.

export default class GeneratorClass { 
    constructor() { 
     this.generator(10); 
     this.generator.next(); 
    } 
    *generator(count:number): Iterable<number | undefined> { 
     while(true) 
      yield count++; 
    } 
} 

Here is the playground link for the same

답변

8

next있어서, 상기 발전기에 있는지되지 발전기 함수 자체의 함수 반환. 내 tsconfig.jsones5을 대상으로했기 때문에

export default class GeneratorClass { 
    constructor() { 
     const iterator = this.generator(10); 
     iterator.next(); 
    } 
    *generator(count:number): IterableIterator<number> { 
     while(true) 
      yield count++; 
    } 
} 
+0

놀이터에서 이것을 시도 했습니까? TS2339 : 'next'속성이 유형에 존재하지 않습니다. – anandaravindan

+1

@anandaravindan : 유형을 'Iterable'에서'Iterator'로 변경하십시오. –

+1

@FelixKling Thankyou. 이제는 문서를 확인하고 반환 유형은 IterableIterator입니다. – anandaravindan

0

하면이 오류를보고 있었다.

"target": "es5", 
"lib": [ 
    "es5", 
    "es2015.promise" 
] 

에 :

나는 단지에서 (발췌) 변경

"target": "es6", 
"lib": [ 
    "es6" 
] 

및 오류 멀리 갔다.

참고 : VS 코드의 경우 IntelliSense에서 변경 내용을 인식하도록 창을 다시로드해야했습니다.