Avatar ·

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 करते हैं।