Sobes.tech
Middle

Dasturlashda future operatorining roli nima?

sobes.tech AI

AIdan javob

Dasturlashda future operatsiyasi kelajakda asinxron operatsiyaning natijasini olish uchun mo'ljallangan obyektni ifodalaydi. U parallel yoki asinxron tarzda bajariladigan vazifani boshlash va keyinchalik uning natijasini mavjud bo'lsa olish imkonini beradi.

future ning roli:

  • Asosiy oqimni bloklamasdan vazifa tugashini kutishga imkon beradi.
  • Sinxronizatsiya va natijani olish mexanizmini ta'minlaydi.
  • Ko'pincha promise yoki boshqa mexanizmlar bilan natijani uzatishda ishlatiladi.

Swiftda Combine kutubxonasidan Future bilan misol:

import Combine

func fetchData() -> Future<String, Error> {
    return Future { promise in
        DispatchQueue.global().async {
            // tarmoq so'rovini simulyatsiya qilish
            let data = "Ma'lumotlar"
            promise(.success(data))
        }
    }
}

let future = fetchData()
let cancellable = future.sink(receiveCompletion: { completion in
    switch completion {
    case .finished:
        print("Tugallandi")
    case .failure(let error):
        print("Xato: \(error)")
    }
}, receiveValue: { value in
    print("Olingan qiymat: \(value)")
})

Shu tarzda, future asinxron kodni qulay va o'qilishi oson tarzda tashkil qilishga yordam beradi.