mirror of
https://github.com/mastodon/mastodon-ios
synced 2025-04-11 22:58:02 +02:00
Reduce nested-ness of tasks (IOS-192)
Thank you @kimar
This commit is contained in:
parent
c6788f5a43
commit
b8ba69b930
@ -56,22 +56,20 @@ extension DataSourceFacade {
|
|||||||
) async {
|
) async {
|
||||||
provider.coordinator.showLoading()
|
provider.coordinator.showLoading()
|
||||||
|
|
||||||
Task {
|
do {
|
||||||
do {
|
guard let account = try await provider.context.apiService.fetchUser(
|
||||||
guard let account = try await provider.context.apiService.fetchUser(
|
username: username,
|
||||||
username: username,
|
domain: domain,
|
||||||
domain: domain,
|
authenticationBox: provider.authContext.mastodonAuthenticationBox
|
||||||
authenticationBox: provider.authContext.mastodonAuthenticationBox
|
) else {
|
||||||
) else {
|
return provider.coordinator.hideLoading()
|
||||||
return provider.coordinator.hideLoading()
|
|
||||||
}
|
|
||||||
|
|
||||||
provider.coordinator.hideLoading()
|
|
||||||
|
|
||||||
await coordinateToProfileScene(provider: provider, account: account)
|
|
||||||
} catch {
|
|
||||||
provider.coordinator.hideLoading()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
provider.coordinator.hideLoading()
|
||||||
|
|
||||||
|
await coordinateToProfileScene(provider: provider, account: account)
|
||||||
|
} catch {
|
||||||
|
provider.coordinator.hideLoading()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +81,6 @@ extension DataSourceFacade {
|
|||||||
) async {
|
) async {
|
||||||
provider.coordinator.showLoading()
|
provider.coordinator.showLoading()
|
||||||
|
|
||||||
Task {
|
|
||||||
do {
|
do {
|
||||||
let account = try await provider.context.apiService.accountInfo(
|
let account = try await provider.context.apiService.accountInfo(
|
||||||
domain: domain,
|
domain: domain,
|
||||||
@ -96,7 +93,6 @@ extension DataSourceFacade {
|
|||||||
await coordinateToProfileScene(provider: provider, account: account)
|
await coordinateToProfileScene(provider: provider, account: account)
|
||||||
} catch {
|
} catch {
|
||||||
provider.coordinator.hideLoading()
|
provider.coordinator.hideLoading()
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,13 +142,12 @@ class MastodonLoginViewController: UIViewController, NeedsDependency {
|
|||||||
|
|
||||||
authenticationViewModel
|
authenticationViewModel
|
||||||
.authenticated.sink { (domain, account) in
|
.authenticated.sink { (domain, account) in
|
||||||
Task {
|
Task { @MainActor in
|
||||||
do {
|
do {
|
||||||
_ = try await self.context.authenticationService.activeMastodonUser(domain: domain, userID: account.id)
|
_ = try await self.context.authenticationService.activeMastodonUser(domain: domain, userID: account.id)
|
||||||
FileManager.default.store(account: account, forUserID: MastodonUserIdentifier(domain: domain, userID: account.id))
|
FileManager.default.store(account: account, forUserID: MastodonUserIdentifier(domain: domain, userID: account.id))
|
||||||
Task { @MainActor in
|
|
||||||
self.coordinator.setup()
|
self.coordinator.setup()
|
||||||
}
|
|
||||||
} catch {
|
} catch {
|
||||||
assertionFailure(error.localizedDescription)
|
assertionFailure(error.localizedDescription)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user