Sobes.tech
Junior — Middle

Мо метавонед шарҳи кунед, ки чӣ гуна барномасозии асинхронӣ дар контексти сохтори Async/Await аст?

sobes.tech AI

Ҷавоб аз AI

Async/Await-ни истифодаи барномасозии асинхронӣ имкон медиҳад, ки коде нависед, ки амалиётҳои дарозмуддатро (масалан, дархостҳои шабакавӣ ё хондани файлҳо) бе бастани сӯрохи асосии иҷроиш иҷро мекунад. Ҳикояи асосӣ ин аст, ки функсияе, ки ҳамчун async ишора шудааст, метавонад дар фармони await иҷроишро муваққатан боздорад, интизори анҷоми амалиёти асинхронӣ, бидуни бастани сӯрохи.

Ин кор бо асинхронӣро содда мекунад, кодро хонданаш осонтар мекунад ва монанд ба иҷрои пайдарпай, баръакс аз callbacks дарунсохт ё занҷирҳои промис.

Мисол дар Swift:

func fetchData() async throws -> Data {
    let url = URL(string: "https://example.com/data.json")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return data
}

Task {
    do {
        let data = try await fetchData()
        print("Маълумотҳо қабул шуд: \(data)")
    } catch {
        print("Хатогӣ: \(error)")
    }
}