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