我是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
方法
所以问题是:如何在服务器响应后实现结果'服务器响应后显示消息?(不是之前屏幕截图中提到的那样)
答案 0 :(得分:2)
您应该等待异步任务完成。将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')
}