我正在尝试对promise使用finally方法,但我一直收到这个错误。
Property 'finally' does not exist on type 'Promise<void>'.我查找过类似的问题,建议将"es2018.promise“添加到tsconfig.js的"lib”数组中。这将产生以下错误:
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'.任何帮助解决这个问题的人都非常感谢!
发布于 2019-02-18 19:15:50
对于TypeScript 3.3.3,只需将es2018.promise添加到tsconfig.json - compilerOptions.lib配置中,如下所示:
"lib": ["es2015", "es2016", "dom", "es2018.promise"]
如果使用vscode,则在将此选项添加到tsconfig.json文件后,可能应该使用reload window
发布于 2018-08-30 21:37:03
直到TypeScript 2.7才添加ES2018支持。升级到该版本或更高版本可解决此错误。
发布于 2018-11-21 09:02:13
虽然TypeScript 2.7可能支持它,但您需要在tsconfig.json中指定:"ESNEXT“。
这意味着您的代码可能无法在较旧的浏览器或node.js版本中运行。
我使用的是:
"@types/promise.prototype.finally": "^2.0.2"import { shim as finallyShim } from 'promise.prototype.finally';
finallyShim();https://stackoverflow.com/questions/52079031
复制相似问题