Sobes.tech
Junior

Դատարկի data task մեթոդը սինխրոնիկ է, թե ասինխրոնիկ?

sobes.tech AI

Պատասխան AI-ից

Ասինխրոն.

// URLSessionDataTask-ը կատարվում է ասինխրոն:
// Այն վերադառնում է կառավարումը անմիջապես,
// և արդյունքը (տվյալներ, պատասխան, սխալ) փոխանցվում է ավարտի հսկիչին
// այն բանից հետո, երբ ցանցային հարցումը ավարտվում է ֆոնային հոսքում:
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Այս կոդի բլոկը կատարվում է ասինխրոն
    // սերվերից պատասխան ստանալուց կամ սխալից հետո:
    if let data = data {
        print("Ստացված տվյալներ: \(data.count) բայթ")
    } else if let error = error {
        print("Սխալ: \(error.localizedDescription)")
    }
}

// Սկսում ենք առաջադրանքը.
// resume() մեթոդը պարզապես դնում է առաջադրանքը հերթի մեջ:
task.resume()

// Կոդը հետո task.resume() արագորեն կատարվում է,
// առանց սպասելու ցանցային հարցման ավարտին:
print("Ավարտված առաջադրանք...")