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

如何在角中使用可观察和观察者?

阴雪风
2023-03-14

我来自同步编程背景,我很难理解可观察性。

这是我的服务/提供商的摘录(离子2项目)

return this.http.get(`${this.serverApi}`)
  .map(res => <Response[]>res.json());

我将从LoginPage订阅它。关于这一点,我有几个问题。

>

  • 即使我没有声明,上面的代码是否返回一个可观察/观察者?

    响应是JSON。如何检查/处理JSON并执行一些操作,如

    res.auth_token==true
    

    那就做吧

     localStorage.setItem(res.auth_token)
    

    我认为应该在提供者类中完成。只是一个典型的提示/例子将是真棒。

    当请求到达subscribe方法时,它是否真的发生了?

    创建和返回Angular 2服务中的Observable时会提到Subject和ReplaySubject。我应该改用它们吗?

  • 共有1个答案

    蒙胤
    2023-03-14

    >

  • 代码将返回一个可观察的

    您可以将回调主体更改为块并添加所需的代码

    return this.http.get(`${this.serverApi}`)
      .map(res => {
         let x = <Response[]>res.json();
         // do something with x
         res.auth_token == true;
         return res; // with a block body an explicit`return` is required
      });
    

    注意:一些Angular API期望一个可观察的,在这种情况下,您不能调用订阅(),因为订阅()返回一个订阅,而不是可观察的

  •  类似资料:
    • 问题内容: 我一直在阅读Observer模式,以保持UI处于最新状态,但仍然看不到它的用途。即使在我的特定对象中通知了我的MainActivity然后运行update();方法我仍然无法使用Pet对象来获取更新值,因为该对象是在Oncreate中创建的…而我只是无法创建新对象,因为那时变量会有所不同..这是我的实施,它似乎不起作用。 观察者/ MainActivity 可观察/宠物 问题答案: 首

    • 此外,为什么Viewmodel不能观察到它自己的LiveData的变化?

    • 是否有一种设计模式可以形成一个“复合”观察者/可观察者? 我的意思是我有一个可观察的,它在某个变化时通知它的监听器。 每个监听器也是一个可观察的,并通知它自己的监听器(在某个动作上,它做了哪个动作是由第一个可观察的通知触发的)。 这种观察者/可观察的“链接”作为设计是可以的,还是有一个标准的模式?

    • 我试图理解当我使用 在或之后,在我使用时返回true 我知道是一次性的。isDisposed()返回false。有人能解释一下到底发生了什么吗?。我理解一个写得很好的观察。create不能在onComplete()或onError()之后发出项。

    • 问题内容: 我正在尝试将项目设置为表视图,但是setitems方法需要一个可观察的列表,而我的模型中却有一个可观察的集合.FXCollections实用程序类没有给定可观察的集合来创建可观察的列表的方法。类强制转换异常(按预期)。 目前,我正在使用这种代码 而且我有一些问题: 在表中进行编辑是否会按预期更新基础集? 这是这样做的“正确”方法吗 简而言之,我需要样式指南或最佳做法,以便在可观察集和可

    • 我对Observables和RxJs是新手,我想对回报进行调整。如果第一个选择器返回某个值,我希望第二个选择器可以观察到。但是如果第一个选择器没有返回那个特定的值,我想返回false,而不是(false)。我已经走了这么远,但这返回了一个可观察的结果