Kotlin कोरूटीन में suspend कीवर्ड का क्या अर्थ है?
सभी को नमस्कार! मैंने Kotlin में कोरूटीन सीखना शुरू किया है, लेकिन मुझे समझ नहीं आ रहा है कि फंक्शन से पहले `suspend` कीवर्ड क्या करता है। मैंने डॉक्यूमेंटेशन पढ़ा, लेकिन स्पष्टीकरण बहुत अमूर्त हैं।
यहाँ एक उदाहरण है जो मैं लिखने की कोशिश कर रहा हूँ:
```kotlin
fun fetchUserData(): String {
Thread.sleep(2000) // लंबे अनुरोध का सिमुलेशन
return "User data loaded"
}
fun main() {
println("Start")
val result = fetchUserData()
println(result)
println("End")
}
```
यह कोड काम करता है, लेकिन मुख्य थ्रेड को ब्लॉक करता है। मैं कोरूटीन के साथ भी ऐसा ही करना चाहता हूँ, लेकिन मुझे समझ नहीं आता कि `suspend` क्यों लिखना पड़ता है और इससे क्या फायदा होता है।
मैंने ऐसे लिखने की कोशिश की:
```kotlin
suspend fun fetchUserDataSuspend(): String {
delay(2000)
return "User data loaded"
}
fun main() {
println("Start")
val result = fetchUserDataSuspend() // कम्पाइल एरर!
println(result)
println("End")
}
```
कम्पाइलर एरर देता है: "Suspend function 'fetchUserDataSuspend' should be c