我读了this SO question本,但很难得到使用打字脚本的promise .希望我们能提供一个明确的指导.

$ tsd query es6-promise --action install --save
$ npm install --save es6-promise


// typescript code:

/// <reference path="../../typings/es6-promise/es6-promise.d.ts"/>

var Promise = require("es6-promise").Promise;
require('es6-promise').polyfill();

function test():Promise {
    var p:Promise = new Promise();
    return p;
}

这是一个错误:

Cannot find name 'Promise'.

//或者:

var p = new Promise<string>((resolve, reject) => {
    resolve('a string');
});


//error=> Untyped function calls may not accept type arguments.

从您自己的 node 服务器端代码返回promise 的推荐方式是什么?

参考资料:

  • 一百

  • 一百

推荐答案

主要的ts

import {Promise} from 'es6-promise';
const p: Promise<string> = new Promise (
   (resolve: (str: string)=>void, reject: (str: string)=>void) => {
      const a: string = "hello from Promise";
      resolve(a);
   }
 );
p.then((st) => {
  console.log(st);
});

tsconfig.json

{
    "compilerOptions": {
        "target": "es3",
        "module": "commonjs",
        "declaration": false,
        "noImplicitAny": false,
        "noLib": false
    },
    "filesGlob": [
        "./**/*.ts",
        "!./node_modules/**/*.ts"
    ],
    "files": [
        "./主要的ts",
        "./typings/es6-promise/es6-promise.d.ts"
    ]
}

编辑德隆.嘘

#!/bin/sh
npm install es6-promise
tsd install es6-promise
tsc
node main.js

Typescript相关问答推荐

如何在TypeScript对象迭代中根据键推断值类型?

TypeScript将键传递给新对象错误

如果一个变量不是never类型,我如何创建编译器错误?

当我点击外部按钮时,如何打开Html Select 选项菜单?

与字符串文字模板的结果类型匹配的打字脚本

使用axios在ngOnInit中初始化列表

对于合并对象中的可选属性(例如选项),类型推断可能是错误的

无法从Chrome清除还原的初始状态数据

我想创建一个只需要一个未定义属性的打字脚本类型

角效用函数的类型推断

ANGLE独立组件布线错误:没有ActivatedRouting提供程序

为什么我的动画状态在组件实例之间共享?

创建Angular 为17的动态形状时出错

有没有办法取消分发元组的联合?

在类型脚本中将泛型字符串数组转换为字符串字母并集

如何在本地存储中声明该类型?

从联合提取可调用密钥时,未知类型没有调用签名

显式推断对象为只读

TypeScript是否不知道其他函数内部的类型判断?

当并非所有歧视值都已知时,如何缩小受歧视联盟的范围?