为什么`Deferred <t> .resolve`接受`IWhenable <t>`而不是`any`?

时间:2018-11-18 14:49:20

标签: typescript

我将Q库与TypeScript一起使用,并且Q.Deferred.resolve的类型定义在看起来应该得到IWhenable<T>时接受any,因为您可以将任何值传递给{{1} }。

当我强制转换时,代码也起作用。

所以问题是,为什么这样建立值定义?

1 个答案:

答案 0 :(得分:2)

  

它似乎应该得到任何because you can pass any value to解决`。

否,您只能解析任何值的Deferred<any>。您将需要向T的{​​{1}}方法传递PromiseLike<T>(或IWhenable<T>,一起:resolve)。