Невозможно подключиться к другому потоку RxSwift на основе проверки, которая была добавлена перед запросом сети.
Я создаю объект UserProfile, но хочу убедиться, что объект userProfile был полностью создан. У меня есть поток, который создает объект userProfile, но теперь у меня есть проверка. Я хочу подключиться к предыдущему потоку, чтобы после завершения UserProfile я мог выполнить сетевой запрос. Я не уверен, как подключиться к предыдущему потоку. UpdateUserProfile ($ 0) - это место, где я передаю объект UserProfile, чтобы выполнить сетевой запрос, но я хочу убедиться, что я остановился на этом.
let userInfoResponse = latestLocallySavedUserProfileDictionary
.map { (dictionary: [String: String?]) in
return UserProfile(
firstName: dictionary["firstName"] ?? "",
lastName: dictionary["lastName"] ?? "",
phone: dictionary["phone"] ?? "",
company: dictionary["company"] ?? "",
organizationType: dictionary["organizationType"] ?? "",
jobFunction: dictionary["jobFunction"] ?? "",
addressLine1: dictionary["addressLine1"] ?? "",
addressLine2: dictionary["addressLine2"] ?? "",
city: dictionary["city"] ?? "",
state: dictionary["state"] ?? nil,
zipCode: dictionary["zipCode"] ?? "",
country: dictionary["country"] ?? "",
languageCode: dictionary["languageCode"] ?? "",
merrillDisclaimerAccepted: false, // ignore for now
merrillDisclaimerAcceptedDate: "" // ignore for now
)
}
.flatMapLatest { updateUserProfile($0) }
.share()
isUserProfileDictionaryComplete = Observable.merge([
initialUserProfileCall,
userInfoResponse
.map{$0.createDictionary()},
userProfileLocal
])
.asObservable()
.map{(profileDictionary) -> Bool in
return profileDictionary.values.contains(nil) || profileDictionary.values.contains("")
}
.ignore(true)