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'類型。 –