【问题标题】:Angular 2 Rxjs creating action after server responseAngular 2 Rxjs 在服务器响应后创建动作
【发布时间】:2018-06-07 18:06:54
【问题描述】:

我是 Angular2 的新手(尤其是 RxJs 库),并在下一步工作。我的网站以注册页面开始。 完成注册表格后,我有基本的service.auth.ts方法注册用法

     registerUser(){
        this.authService.registerUser(this.registrationForm.value)
        .subscribe((data) => {
           console.log(data);
        })
        //this line should apear after server response from backend
        console.log('AFTER SERVER RESPONSE')
        }

我收到这样的回复

我在 RxJs 文档中阅读了一些关于 flatMap 方法的内容,并声称它可以替代默认的 Promise 方法 then() - 但我未能创建实际实现 flatMap 方法的代码工作实例案例

所以问题是:我怎样才能获得结果,以便在服务器响应之后出现“服务器响应之后”消息?(不是之前的屏幕截图中提到的)

【问题讨论】:

    标签: javascript angular promise rxjs


    【解决方案1】:

    您应该等待异步任务完成。将 console.log('AFTER SERVER RESPONSE') 移动到您的 subscribe 块内。

    registerUser() {
            this.authService.registerUser(this.registrationForm.value)
            .subscribe((data) => {
               console.log(data);
               //this line should apear after server response from backend
               console.log('AFTER SERVER RESPONSE')
            });
    
          // anything written over here will execute before `registerUser()` returns data
         console.log('THIS WILL PRINT BEFORE SERVER RESPONSE')
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 1970-01-01
      • 2021-11-08
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 2014-12-10
      相关资源
      最近更新 更多