【问题标题】:Nested http request map Rxjs Angular Ionic嵌套的 http 请求映射 Rxjs Angular Ionic
【发布时间】:2018-01-19 23:02:23
【问题描述】:

我想识别会话何时过期并重新登录以进行特定的后端调用。因此,当我调用readPersons 时,我想检测会话已过期并重新登录,然后再次调用readPersons。因此,在状态码 303 的情况下,PersonPage 中的 readPersons 函数应该在第二次后端调用 readPersons 后得到答案。 但这不起作用。

这是我的 PersonPage……

readPersons() {
    this.backendService.readPersons().subscribe(
        success => this.handleSuccess(success),
        error => {
          console.log(error);
        }
    );
}

这里是后端服务… 会话过期时,我的后端返回 303。

readPersons() {
    return this.http.get(PERSONS_URL)
      .map(this.handleSuccess)
      .catch(this.handleError);


      private handleSuccess() {
         if (res.status === 303) {
            return _this.loginService.login().map(() =>{
            return _this.http.get(PERSONS_URL);
          }
    }

    return res.json() || {};
  }

【问题讨论】:

  • _this 指的是什么?

标签: angular http rxjs


【解决方案1】:

_this 在构造函数中设置。 工作流程不正确。 这是调用堆栈... 1.ReadPersons(后端服务) 2.handleSuccess代码303返回(BackendService) 3. LoginSeevice登录调用 4. PersonPage 中的 ReadPersons 得到响应

但我希望必须在 PersonPag 之前的第 4 步中调用 ReadPersons 表单 BackendService。得到了它的结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多