我正在使用 gulp 将 TS 文件编译为 JS 和此代码:
function Hello(): Promise<string> {
return new Promise(resolve => {
setTimeout(() => {
resolve('Hello, World!');
}, 3000);
});
}
编译有这个错误:
error TS7006: Parameter 'resolve' implicitly has an 'any' type.
这意味着,我应该使用 any
像这样输入:return new Promise((resolve: any) => {
但是为什么我应该使用 any
在这种情况下?当我使用时 Promise<string>
定义 Promise ?依赖:
"dependencies": {
"gulp": "^4.0.2",
"gulp-typescript": "^6.0.0-alpha.1",
"typescript": "^3.9.5"
}
谢谢
最佳答案
看起来 TS 编译器无法识别 Promise
类型。最可能的原因是缺少配置或配置不当。我认为 TS 正在编译 ES5
未定义 promise 的地方。尝试更新您的 tsconfig.json
如 this page 所述. IE。将以下内容添加到 tsconfig.json
"compilerOptions": {
"target": "ES6"
}
关于javascript - Promise resolve 在 TypeScript 中有错误,因为错过了任何类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66299439/