Существует специальный синтаксис return@launch
, return@async
et c. в зависимости от того, какую область вы запустили,
GlobalScope.launch() {
try {
someFunctionThatThrows()
} catch (exception: Exception) {
// log
return@launch
}
moreWork()
}
return@async
может также иметь фактическое возвращаемое значение, которое передается в его Deferred<T>
val.
val deferredValue = GlobalScope.async() { return@aysnc "hello world" }