I am running into an error that says
Type must have a '[Symbol.iterator]()' method that returns an iterator.
It hopes on the demarcated line:
class Test { private async do() { const done = [...(await this.test())]; // Here's the error } private async *test(): AsyncIterableIterator<string> { return; } }
I have found a few issues in the TypeScript GitHub repository, but none seem to have helped. They all suggest adding new entries to lib
. I am using es6
target and have added esnext
, dom
and es2018
. This has had zero effect on the error.
Do I miss more lib
entries (which I doubt as the ones I am using are the catchall ones with everything in) or is the code I am using invalid?
this has helped me. in tsconfig, add this :
{ "compilerOptions": { "lib": [ "es5", "es6", "dom", "dom.iterable" ] } }
This is required for tsconfig to know which interfaces to import while transpiling your code.
dom.iterable includes all the interfaces mentioned here : https://github.com/microsoft/TypeScript/blob/master/lib/lib.dom.iterable.d.ts
Also thanks to @domlas for mentioning this. I already upvoted his comment so that it is treated as default reason.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With