如果我尝试返回特定类型的 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/

10-09 22:24