JS: allow to call suspend function from any position within another suspend function
This commit is contained in:
@@ -126,11 +126,13 @@ internal abstract class CoroutineImpl(private val resultContinuation: Continuati
|
||||
}
|
||||
|
||||
override fun resume(data: Any?) {
|
||||
this.result = data
|
||||
result = data
|
||||
try {
|
||||
val result = doResume()
|
||||
result = doResume()
|
||||
if (result != SUSPENDED_MARKER) {
|
||||
resultContinuation.resume(result)
|
||||
val data = result
|
||||
result = SUSPENDED_MARKER
|
||||
resultContinuation.resume(data)
|
||||
}
|
||||
}
|
||||
catch (e: Throwable) {
|
||||
@@ -142,9 +144,11 @@ internal abstract class CoroutineImpl(private val resultContinuation: Continuati
|
||||
state = exceptionState
|
||||
this.exception = exception
|
||||
try {
|
||||
val result = doResume()
|
||||
result = doResume()
|
||||
if (result != SUSPENDED_MARKER) {
|
||||
resultContinuation.resume(result)
|
||||
val data = result
|
||||
result = SUSPENDED_MARKER
|
||||
resultContinuation.resume(data)
|
||||
}
|
||||
}
|
||||
catch (e: Throwable) {
|
||||
|
||||
Reference in New Issue
Block a user