I am trying to use the finally method on a promise but I keep getting this error.
Property 'finally' does not exist on type 'Promise<void>'.
I have looked up similar questions to this which have suggested adding "es2018.promise" to the "lib" array in tsconfig.js. This then produces the following error:
typescript error Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.
Any help resolving this is greatly appreciated!
For TypeScript 3.3.3
, just add es2018.promise
to your tsconfig.json
- compilerOptions.lib
config like this:
"lib": ["es2015", "es2016", "dom", "es2018.promise"]
If you use vscode
, maybe you should reload window
after adding this option to your tsconfig.json
file
ES2018 support was not added until TypeScript 2.7. Upgrading to that version or later resolves this error.
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