【问题标题】:Return boolean value in angular 2 service method在 Angular 2 服务方法中返回布尔值
【发布时间】:2017-10-01 12:46:48
【问题描述】:

我想返回布尔值(只有 true 或 false),其中我的函数的返回类型是 Observable 。如何在使用 angular 2 时只返回真值或假值。我尝试了很多但无法解决这个问题。我该怎么做?

下面是我的代码:

  CheckValidation(measurementUnitId: string, itemId: string): Observable<boolean> {
    const url = `api/v1.0/measurementUnits/${measurementUnitId}/items/${itemId}`;
    debugger;
    var returnValue = this.http.get(url)
        .do(result => console.log('CheckValidation: ' + result))
        .catch(this.handleError);
    //Here I need the value of returnValue variable will be true or false.
}

提前致谢。

【问题讨论】:

标签: angular angular2-services angular2-directives


【解决方案1】:

虽然Suren Srapyan 打败了我,但我想进一步澄清一下:

如果你使用map() 操作符,你可以从 Observable 获取任何值并将其映射到另一个值。在您的情况下,如果服务器响应操作成功,则可能映射为 true,否则映射为 false。

该 Observable 的外部订阅者不会“看到”原始 Observable 的实际值,而只会获得布尔值。

有关可视化表示,请参阅 ReactiveX 文档:

http://reactivex.io/documentation/operators/map.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2012-11-04
    • 2015-06-18
    • 1970-01-01
    相关资源
    最近更新 更多