仅当第一次失败时才执行第二次 http 调用

亚历山德罗

尝试通过管道传输两个 Angular http 调用,仅当第一个调用失败时才执行第二个调用。

第一个电话是:

 return this.http.get<AssetGroupHistoryResponseModel>('./assets/data.json');

如果 data.json 不存在,则会引发 404 Not Found 错误,它应该调用适当的 API:

return this.http.get<AssetGroupHistoryResponseModel>(url);

不知道如何使用 rxjs 获得这种行为。

帕特里克·帕内克

您可以使用catchErrorRXJS操作符来实现这一点。

在这里,试试这个:

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { catchError } from 'rxjs/operators';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {

  constructor(private http: HttpClient) {}

  ngOnInit() {
    this.getData()
      .subscribe(
        res => console.log(res)
      )
  }

  getData() {
    return this.http.get('http://jsonplaceholder.typicode.com/posts/1')
      .pipe(
        catchError(error => this.http.get('https://jsonplaceholder.typicode.com/users/1'))
      );
  }
}

PS:请注意,http当应用程序将在https. 因此,您将获得user记录到控制台的post数据而不是数据。


这是供您参考工作示例 StackBlitz

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

函数的第一次调用与第二次调用的性能

来自分类Dev

.NET第一次成功后进行第二次Ajax调用

来自分类Dev

ReactJS中的按钮仅在第二次单击后才调用该函数,第一次单击后不起作用

来自分类Dev

我的角度函数不在第一次调用时执行。它仅在第二次调用时执行

来自分类Dev

通过textField.inputView的DatePicker仅在第二次显示(第一次调用常规键盘)

来自分类Dev

Ajax.BeginForm第一次工作,但是从第二次调用开始两次调用方法

来自分类Dev

在node.js中,为什么第二次调用一个函数要比第一次调用花费更少的时间?

来自分类Dev

C++/SFML:使用两次递归调用将凸面形状打印到屏幕上,仅显示第一次递归调用的形状,而不显示第二次

来自分类Dev

如何使FakeItEasy伪造对象的方法在第一次调用时抛出并在第二次调用时返回?

来自分类Dev

tkinter和python-方法的第一次调用可以,方法的第二次调用抱怨对象没有该属性

来自分类Dev

函数在第一次调用时起作用,但在第二次调用时不起作用

来自分类Dev

如何使FakeItEasy伪造对象的方法在第一次调用时抛出并在第二次调用时返回?

来自分类Dev

递归函数在第一次调用时起作用但在第二次调用时不起作用

来自分类Dev

从本机dll调用方法第一次起作用,第二次陷入不稳定(由于fortran模块)?

来自分类Dev

多个 AJAX 调用 - 第一次获取数据并转换为 JSON 对象,第二次更新 $_SESSION 信息

来自分类Dev

进行第二次http调用,并在相同的Observable中使用结果

来自分类Dev

Rxjs 有条件地进行第二次 http 调用

来自分类Dev

如何测试方法是否在Jasmine中仅被调用一次而不是第二次被调用?

来自分类Dev

第二次尝试从IIS调用Powershell失败

来自分类Dev

最小起订量在第二次验证时没有执行调用

来自分类Dev

为什么同一功能的第二次调用会永远执行?

来自分类Dev

os.chdir工作一次,然后在第二次调用后不工作;python脚本

来自分类Dev

第二次调用openParentApplication,而第一个则不调用回复

来自分类Dev

sorted() 仅在第一次调用时失败

来自分类Dev

JSF Ajax 仅第一次调用

来自分类Dev

连续调用SqlDependency.Start两次,第二次失败?

来自分类Dev

在第二次执行时暂停函数的第一次执行(Python)

来自分类Dev

onNewIntent没有被调用-仅第二次调用?

来自分类Dev

第二次我调用类方法时对象无法调用

Related 相关文章

  1. 1

    函数的第一次调用与第二次调用的性能

  2. 2

    .NET第一次成功后进行第二次Ajax调用

  3. 3

    ReactJS中的按钮仅在第二次单击后才调用该函数,第一次单击后不起作用

  4. 4

    我的角度函数不在第一次调用时执行。它仅在第二次调用时执行

  5. 5

    通过textField.inputView的DatePicker仅在第二次显示(第一次调用常规键盘)

  6. 6

    Ajax.BeginForm第一次工作,但是从第二次调用开始两次调用方法

  7. 7

    在node.js中,为什么第二次调用一个函数要比第一次调用花费更少的时间?

  8. 8

    C++/SFML:使用两次递归调用将凸面形状打印到屏幕上,仅显示第一次递归调用的形状,而不显示第二次

  9. 9

    如何使FakeItEasy伪造对象的方法在第一次调用时抛出并在第二次调用时返回?

  10. 10

    tkinter和python-方法的第一次调用可以,方法的第二次调用抱怨对象没有该属性

  11. 11

    函数在第一次调用时起作用,但在第二次调用时不起作用

  12. 12

    如何使FakeItEasy伪造对象的方法在第一次调用时抛出并在第二次调用时返回?

  13. 13

    递归函数在第一次调用时起作用但在第二次调用时不起作用

  14. 14

    从本机dll调用方法第一次起作用,第二次陷入不稳定(由于fortran模块)?

  15. 15

    多个 AJAX 调用 - 第一次获取数据并转换为 JSON 对象,第二次更新 $_SESSION 信息

  16. 16

    进行第二次http调用,并在相同的Observable中使用结果

  17. 17

    Rxjs 有条件地进行第二次 http 调用

  18. 18

    如何测试方法是否在Jasmine中仅被调用一次而不是第二次被调用?

  19. 19

    第二次尝试从IIS调用Powershell失败

  20. 20

    最小起订量在第二次验证时没有执行调用

  21. 21

    为什么同一功能的第二次调用会永远执行?

  22. 22

    os.chdir工作一次,然后在第二次调用后不工作;python脚本

  23. 23

    第二次调用openParentApplication,而第一个则不调用回复

  24. 24

    sorted() 仅在第一次调用时失败

  25. 25

    JSF Ajax 仅第一次调用

  26. 26

    连续调用SqlDependency.Start两次,第二次失败?

  27. 27

    在第二次执行时暂停函数的第一次执行(Python)

  28. 28

    onNewIntent没有被调用-仅第二次调用?

  29. 29

    第二次我调用类方法时对象无法调用

热门标签

归档