javascript - Promise resolve 在 TypeScript 中有错误,因为错过了任何类型

标签 javascript typescript

我正在使用 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.jsonthis page 所述. IE。将以下内容添加到 tsconfig.json

"compilerOptions": {
    "target": "ES6"
}

关于javascript - Promise resolve 在 TypeScript 中有错误,因为错过了任何类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66299439/

相关文章:

javascript - 如何获取所选选项的值

typescript - 获取根组件 ElementRef 或 ComponentRef angular 2

typescript - Eslint 不使用 TypeScript 语法

javascript - 使用 jquery 禁用 html 表单中的提交按钮的功能,但它仍然可见

javascript - 指令就像棱 Angular Material 的底片

javascript - 一个函数与另一个 javascript 交互

javascript - 如何监听 'props' 变化

angular - 如果任何一项测试失败,如何停止 Jasmine 单元测试

typescript - 将 ts-node 与 TypeScript 增量构建一起使用

javascript - Angular/Typescript/Firestore - 如何在 if 语句中返回可观察值