【发布时间】:2018-04-24 19:00:35
【问题描述】:
如果我尝试像这样返回特定类型的承诺:
public myMethod(): Promise<MyType> {
return this.httpClient.get('/my/url').toPromise();
}
...我收到返回类型 Promise
public myMethod(): Promise<MyType> {
return this.httpClient.get<MyType>('/my/url').toPromise();
}
不过,还有另一种选择,可以为 toPromise() 函数提供一个可选参数。我的 IDE 说参数的类型是“PromiseCtor: PromiseConstructorLike”或“PromiseCtor: typeof Promise”。
public myMethod(): Promise<MyType> {
return this.httpClient.get('/my/url').toPromise(???);
}
我不知道什么语法可以满足 ???然而,在上面。
关于这里可以填写什么作为有效参数的任何想法?
【问题讨论】:
-
我认为它要求
Promiseconstructor。可以是原生的,也可以是你最喜欢的 Promise 库提供的。这对MyType没有帮助,顺便说一句。 -
假设您有一个特殊类型的 Promise MyPromise,您将传递该类型(即 MyPromise 的构造函数)。目标不是解决您遇到的问题。目标也是返回特定类型的 Promise。
标签: typescript promise httpclient angular5