当前位置: 首页 > 知识库问答 >
问题:

如何在本机ES6promise中使用Typescript

武睿
2023-03-14

我是一个完整的打字初学者,我想知道是否有可能在打字中使用ES6promise,以及我必须做什么才能让他们工作。我正在运行节点0.11.14,在编译过程中得到一个错误“不能找到名称'promise'”

共有1个答案

焦苏燕
2023-03-14

当前的lib.d.ts中没有定义promise,所以您需要一个额外的定义文件来定义它,这就是为什么会出现编译错误的原因。

例如,您可以使用(如@elclanrs says)es6-promise包以及来自definitelytyped:es6-promise definition的定义文件

然后您可以这样使用它:

var p = new Promise<string>((resolve, reject) => { 
    resolve('a string'); 
});
"compilerOptions": {
    "target": "ES6"
}

创建一个package.json文件,其中只有{}作为内容(如果您还没有package.json,请调用npm install--save@types/es6-promisetsc--init。第一个npm install命令将更改package.json以包含es6-promise作为依赖项。tsc--init将为您创建一个tsconfig.json文件。

现在可以在typescript文件var x:promise 中使用promise。执行tsc-p.编译项目。你应该没有错误。

 类似资料:
  • 我在DLL文件中有一个带有本机函数(JNA)的简单API,它只计算一些数学东西。我在一个Java应用程序中使用了这个DLL,在windows JVM上一切都运行良好。 问题是,这个库将在Linux JVM内部的Linux环境中使用,不会有*.so版本。 我读了几次,有一种方法加载DLL的葡萄酒在内存中,并从那里使用它,但没有解释如何做到这一点。 谁能为我证实或驳斥这种做法。如果这真的是一个可行的解

  • 我正在试图弄清楚如何通过将GraalVM本机映像代理与Quarkus应用程序一起使用。 我试着跑步: 但是我得到了一个错误: 有什么提示吗? 我的Java版本:

  • 我正在替换一些使用jQuery延迟对象的旧代码,并且正在使用Bluebird/ES6承诺进行重写。 如果我有多个异步调用,那么在所有承诺都解决之后,我如何触发一个函数。 使用jQuery可以进行延迟: 我如何使用ES6 Promise语法重写它?

  • 目前正在做一些家庭作业并遇到麻烦——我不确定如何正确使用toString。以下是家庭作业问题: 创建一个名为车辆的类,作为车辆类型的超类。车辆类包含用于车轮数量和每加仑平均里程数的私有变量。车辆类还包含一个构造函数,其中包含用于车轮数量和每加仑平均里程数的整数参数,以及一个显示()方法,该方法使用toString()方法打印所需的输出以将整数值转换为String。 创建两个子类Car和MotorC

  • 我使用的是MapsForge0.6.1,我可以用以下简化的示例来再现这个问题,它基本上是本教程的副本:https://github.com/Mapsforge/Mapsforge/blob/master/docs/gett-start-android-app.md 我做了一些小改动以配合新版本。 问题是,当您旋转屏幕时,会调用,后面是。我可以通过在地图活动和其他活动之间切换,用具有多个活动的更复杂

  • 问题内容: 对于Java库项目,要发布的工件非常简单,因为输出是单个jar文件。但是,我也有一个项目,其中包含以下内容: MyLib.jar armeabi / libStuff.so armeabi-v7a / libStuff.so mips / libStuff.so x86 / libStuff.so 我无法将所有这些.so文件设置为工件,因为它们都具有相同的名称。推荐的方法是什么?将所有