angular - Angular 多个 http.get 请求
问题描述
我怎样才能只发出一个 http 请求但多次订阅该服务?
该文档指出它们被多次调用:
const req = http.get<Heroes>('/api/heroes');
// 0 requests made - .subscribe() not called.
req.subscribe();
// 1 request made.
req.subscribe();
// 2 requests made.
来源:https ://angular.io/guide/http#making-a-delete-request (有点下)。
有没有办法,http请求只完成一次?
背景:我正在制作一项服务,检查请求是否相同,如果是,则返回最后一个observable
. 现在,如果请求两次,这个“优化”就会过时。
所有相关的答案都是 Angular
解决方案
根据评论,我这样解决了:
this.lastObservable = new Observable(observe => {
this.http.get(url).subscribe(
result => {
// observable execution
observe.next(result)
},
error => {
observe.error(error)
},
() => {
observe.complete();
}
);
推荐阅读
- c# - 使用 OpenXml.Spreadsheet 时如何将列宽设置为 BestFit
- c# - 使用默认 DbContext 与 SpecificDbContext 作为服务依赖项之间有什么区别?
- php - 如何将 Symfony 翻译的句子传递给树枝?
- javascript - 如何从使用 axios 发送的 POST 请求中获取 Content-Length 标头?
- firefox - 在 3D 视图中显示网站 html
- curl - Centos Curl Http 错误:404 页面不存在
- ios - 为什么 Share Extension 无法在 iOS 13 上运行?
- javascript - 从节点模块访问原型函数
- regex - 正则表达式限制文本字符串中的空格数
- r - ggcorrplot 是否有特定的服务器名称