promise.then中的Typescript编译错误

时间:2015-05-06 02:01:19

标签: javascript typescript promise

我正在尝试在打字稿中使用promises。我使用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;
}

p.then(x)

的位置给我这个
  

错误TS2345:类型'Promise'的参数不能分配给'(value:any)=&gt;类型的参数{} | Thenable&LT; {}&GT;”

这在某种程度上是type definition中的错误,还是我使用错了?

1 个答案:

答案 0 :(得分:4)

  

p.then(X);

这是无效的。 x需要发挥作用。在这里,你将它作为一种承诺。