promise.then 中的打字稿编译错误

aro*_*101 1 javascript promise typescript

我正在尝试在打字稿中使用承诺。我使用 tsd 安装 es6-promise 并添加了对我的文件的引用。它在很大程度上理解承诺,但我很难将它们与then.

function foo() : Promise<any> {
  var p: Promise<any> = Promise.resolve();
  var x: Promise<any> = Promise.resolve();
  p = p.then(x);
  return p;
}
Run Code Online (Sandbox Code Playgroud)

在以下位置给我这个p.then(x)

错误 TS2345:“Promise”类型的参数不可分配给“(value: any) => {}”类型的参数 | 可<{}>'。

这是类型定义中的错误,还是我使用错误?

bas*_*rat 5

p.then(x);

这是无效的。x需要功能。在这里,你有它作为一个承诺。