当前位置: 首页 > 知识库问答 >
问题:

在Angular2中使用RxJS链接可观测对象

祁曦哲
2023-03-14

我有2个API调用第二个调用使用第一个调用返回的东西。有了promise,这很容易:

myService.findAll()

     // First call
    .then(response => {
        return myService.findSpecific(response.something);
    })

    .then(response => {
        // result from second API call
    });

我将如何使用可观测数据来实现这一点?

共有1个答案

颛孙品
2023-03-14

您可以这样利用flatMap运算符:

myService.findAll()
  // First call
  .flatMap(response => {
    return myService.findSpecific(response.something);
  }).subscribe(response => {
    // result from second API call
  });
 类似资料:
  • 在愉快地使用AngularJS 1之后,我目前正在尝试自学Angular2和打字脚本。*在过去的4年里!我不得不承认我讨厌它,但我确信我的尤里卡时刻就在眼前。。。无论如何,我已经在我的虚拟应用程序中编写了一个服务,它将从我编写的提供JSON服务的假后端获取http数据。 现在在一个组件中,我希望运行(或链)两个和方法。在AngularJS中,这很容易,因为在我的控制器中,我会做这样的事情来避免“末

  • 我有一个简单的api请求,它向一个对象返回一个可观察的对象,该对象中有一组项,每个项中都有一个链接。因此,我想在当前异步流中直接获取链接后面的数据,但我收到一个CORS错误,错误是: 这是否可能与我当前的函数?还是我误解了一些基本概念?

  • 我正在使用angularfire,我得到了一个连续的阵列流,其中包含任务ID。我需要获取数组中每个id的任务文档作为一个新的可观察的。然后将任务文档数组返回到流中,这样我就可以在组件中订阅它并显示任务列表。 到目前为止,我用mergeMap得到了它。我分割阵列,获取任务文档并将它们返回到流中。我的解决方案唯一的问题是,当我订阅可观察到的时,我没有得到一系列任务,但每个任务都是一个单一的变化,我不能

  • 我的后端有两个图形查询:,它返回一个家谱作为有孩子的节点,也可以有孩子等等,和,它返回给定人的图片。 我的目标是调用,迭代树,如果这个人被称为Alice,那么我想为这个人调用,并将信息添加到树中的节点。这应该为树上的所有爱丽丝做。 我的问题是,获取图片的调用是异步的,因此在信息添加到节点之前会返回数据。我没有按照这个问题中的建议使用,因为调用获取图片是在迭代树时发生的,我不能在的管道方法中调用它。

  • 以下代码未订阅: 但是如果我这样做,它确实订阅: 更新:这个工作太 但当我添加逻辑时,它并没有 我遵循RxJS官方文档:https://rxjs-dev.firebaseapp.com/api/operators/find 我甚至必须在,当我执行时,什么也不会打印出来。我也尝试过使用管道。 对象: 我传递的昵称是将对象与“Devpato”进行比较

  • 我有一个沙盒,它订阅了一个消息流,我想过滤该流,以查找已发送到或从特定用户使用另一个组件中指定的路由参数接收的消息。 messages.sandbox.ts: messages.detail.container.ts this.matching消息$似乎只包括this.received消息$但是我知道this.sent消息$不是空,因为我可以在我的模板中使用它没有问题。 我是不是遗漏了一些合并观测