Kotlin: withContext() बनाम async-await — क्या अंतर है और क्या चुनें?
नमस्ते साथियों! मैंने हाल ही में Kotlin में coroutines सीखना शुरू किया है, और मुझे `withContext()` और `async-await` कंस्ट्रक्शन के बीच भ्रम हो गया है। पहली नज़र में, दोनों कोड को दूसरे context (जैसे `Dispatchers.IO` पर) में execute करने और result प्राप्त करने की अनुमति देते हैं। लेकिन मैं समझ नहीं पा रहा हूँ कि कब क्या apply करना चाहिए।
यहाँ एक सरल उदाहरण है। मान लीजिए, मुझे network से data load करना है और उसे process करना है:
```kotlin
suspend fun loadUser(): User {
return withContext(Dispatchers.IO) {
// network request का simulation
delay(1000)
User("एलेक्सी")
}
}
suspend fun loadUserAsync(): User {
val deferred = GlobalScope.async(Dispatchers.IO) {
delay(1000)
User("एलेक्सी")
}
return deferred.await()
}
```
दोनों functions एक ही काम करते हैं — User return करते हैं।