Код IT
← Каталог

Рекомендации по разработке на Swift — Асинхронность с `async/await`

Фрагмент из «Рекомендации по разработке на Swift»: Асинхронность с `async/await`.

Plain text main.swift
func loadUserProfile() async throws -> UserProfile {
    let userData = try await networkService.fetch(endpoint: .profile)
    let avatarData = try await imageService.load(url: userData.avatarURL)
    return UserProfile(userData: userData, avatar: avatarData)
}

// Использование
Task {
    do {
        let profile = try await loadUserProfile()
        display(profile)
    } catch {
        showError(error)
    }
}
func loadUserProfile() async throws -> UserProfile {
    let userData = try await networkService.fetch(endpoint: .profile)
    let avatarData = try await imageService.load(url: userData.avatarURL)
    return UserProfile(userData: userData, avatar: avatarData)
}

// Использование
Task {
    do {
        let profile = try await loadUserProfile()
        display(profile)
    } catch {
        showError(error)
    }
}