如果我试图返回一个特定类型的这样一个承诺:Angular 5的HttpClient:toPromise()接受哪些参数?
public myMethod(): Promise<MyType> {
return this.httpClient.get('/my/url').toPromise();
}
...我得到一个错误的返回类型无极<对象>不符合预期的类型无极<的MyType >。这是很容易通过将结果或通过这样来解决:
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(???);
}
我想不通什么语法会满足???上面,但是。
关于什么可以作为一个有效的参数在这里填写任何想法?
我认为这是要求输入['Promise'构造(https://developer.mozilla.org/en-US/docs/网络/ JavaScript的/参考/ Global_Objects /无极)。这可以是本地的,也可以是您最喜欢的承诺库提供的。这不会帮助你用'MyType',顺便说一句。 – Bergi
假设您有特殊类型的承诺MyPromise,您可以传递该类型(即MyPromise的构造函数)。目标不是解决你的问题。目标也是返回一个特定类型的Promise。 –