如果我尝试返回特定类型的 promise ,如下所示:
public myMethod(): Promise<MyType> {
return this.httpClient.get('/my/url').toPromise();
}
...我收到返回类型 Promise 与预期类型 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(???);
}
我不知道什么语法会满足???上面,但是。
关于可以在这里填写什么作为有效参数的任何想法?
最佳答案
您需要在 get 方法 get<MyType>
中指定类型:
public myMethod(): Promise<MyType> {
return this.httpClient.get<MyType>('/my/url').toPromise();
}
关于typescript - Angular 5 的 HttpClient : What arguments does toPromise() accept?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47241574/