0
我做了一个功能,在我的应用程序中注册一个用户。为此,我写了下面的代码:制作一个包含行为平台的可观察对象
onRegister() {
const data = {
firstName: this.form.value.firstName,
lastName: this.form.value.lastName,
emailAddress: this.form.value.emailAddress
};
this.userService.getUserByEmail(data)
.map(response => {
const authData = {
uid: response.uid,
newUser: response.newUser
};
return authData;
})
.do(authData => this.accountService.addUsersToAccount(authData, data))
.map(authData => {
if (authData.newUser) {
return this.userService.createUser(data, authData, 5);
} else {
return this.accountService.addAccountToUser(data, authData, 5);
}
})
.subscribe((resp: Observable<User>) => {
console.log('added user to account', resp);
});
}
在我的订阅功能,我想console.log添加的用户。目前resp是一个可观察的行为,持有具有期望值的行为主体。 RESP的结构如下:
添加的用户以考虑:可观察
- source: Observable
-- source: BehavoirSubject
--- value: Object (<<<< this is the data I want in my console.log)
嗨马克。当我将map()函数更改为flatMap()时,我得到以下打字稿错误: [ts]类型'(authData:{uid:any; newUser:any;})=> void的参数Observable'不能分配给类型为'(value:{uid:any; newUser:any;},index:number)=> ObservableInput'的参数。 键入'void | Observable '不可分配为键入'ObservableInput'。 类型'void'不可分配给'ObservableInput'类型。 –