Angular 6 rxjs 管道不返回数据

标签 angular rxjs

在 Angular 6 中使用最新版本的 rxjs 时遇到问题。 代码;

import { Observable, throwError } from "rxjs";
import { map, filter, catchError, mergeMap } from 'rxjs/operators';

isValidUser(user, password) : Observable<any> {

let urlString = "http://localhost....=" + user + "&password=" + password;

console.log(urlString)

return this._http.get(urlString, {withCredentials: true, responseType: 'json'})
.pipe(
  map((val: any[]) => {
    console.log("val",val);
    if (val.hasOwnProperty("GoldUser")) {
      if (val["GoldUser"][0]["_Qy"] == "GoldSecurityUser")
        this.isUserLoggedIn = true;
        return true;
      }
      return false;
  }), catchError( error => {
    console.log("error",error );
    return throwError( 'Something went wrong!' )
  })

);

}

问题是,即使 URL 有效并且简单的浏览器 REST 调用返回 json 数据,代码也不会返回任何内容。它永远不会命中我的 console.log val 语句。在 Chrome 中,开发人员工具“网络”选项卡也没有显示任何事件。这是我第一次使用 Angular6 和 rxjs V6 管道,我对此有点困惑。

任何帮助将不胜感激。

ng --版本

Angular CLI: 6.0.8
Node: 8.9.4
OS: win32 x64
Angular: 6.0.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.8
@angular-devkit/build-angular     0.6.8
@angular-devkit/build-optimizer   0.6.8 
@angular-devkit/core              0.6.8
@angular-devkit/schematics        0.6.8
@angular/cli                      6.0.8
@ngtools/webpack                  6.0.8
@schematics/angular               0.6.8
@schematics/update                0.6.8
rxjs                              6.2.1
typescript                        2.7.2
webpack                           4.8.3

顺便说一句,我查看了 rxjs 迁移页面,但仍然看不到我做错了什么......

谢谢

标记。

最佳答案

您需要调用 observable 的 subscribe 来执行请求。

https://angular.io/guide/observables#subscribing

关于Angular 6 rxjs 管道不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50857283/

相关文章:

javascript - 在 jQuery 函数内调用函数

javascript - Angular 点击事件识别是鼠标点击还是键盘回车键事件

angular - 在 formBuilder.group 响应式(Reactive)表单中添加动态属性

angular - 有没有更好的方法让我在 Angular 中缓存 HTTP 请求?

javascript - 在父方法中调用 subscribe 方法

css - 在加载 css 之前,Chrome 不会设置动画

angular - *cdkDragPreview 定位Angular Material

javascript - 使用 RxJs 将分页请求转换为 Observable 流

javascript - 如何通过 `.publishReplay()` 在具有缓存的 RxJS Observable 上设置超时?

rxjs - 如何使用 rxjs 从后端 api 获取 header 属性?