13af6ab5fSopenharmony_ci#  Generator functions are not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-generators``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciCurrently, ArkTS does not support generator functions.
83af6ab5fSopenharmony_ciUse the ``async`` / ``await`` mechanism for multitasking.
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci## TypeScript
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci```
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci    function* counter(start: number, end: number) {
173af6ab5fSopenharmony_ci        for (let i = start; i <= end; i++) {
183af6ab5fSopenharmony_ci            yield i
193af6ab5fSopenharmony_ci        }
203af6ab5fSopenharmony_ci    }
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci    for (let num of counter(1, 5)) {
233af6ab5fSopenharmony_ci        console.log(num)
243af6ab5fSopenharmony_ci    }
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ci```
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_ci## ArkTS
293af6ab5fSopenharmony_ci
303af6ab5fSopenharmony_ci
313af6ab5fSopenharmony_ci```
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_ci    async function complexNumberProcessing(n : number) : Promise<number> {
343af6ab5fSopenharmony_ci        // Some complex logic for processing the number here
353af6ab5fSopenharmony_ci        return n
363af6ab5fSopenharmony_ci    }
373af6ab5fSopenharmony_ci
383af6ab5fSopenharmony_ci    async function foo() {
393af6ab5fSopenharmony_ci        for (let i = 1; i <= 5; i++) {
403af6ab5fSopenharmony_ci            console.log(await complexNumberProcessing(i))
413af6ab5fSopenharmony_ci        }
423af6ab5fSopenharmony_ci    }
433af6ab5fSopenharmony_ci
443af6ab5fSopenharmony_ci    foo()
453af6ab5fSopenharmony_ci
463af6ab5fSopenharmony_ci```
473af6ab5fSopenharmony_ci
483af6ab5fSopenharmony_ci
49