diff --git a/core/src/main/java/ru/mail/march/interactor/Interactor.kt b/core/src/main/java/ru/mail/march/interactor/Interactor.kt index 119a0c9..7ee10b7 100644 --- a/core/src/main/java/ru/mail/march/interactor/Interactor.kt +++ b/core/src/main/java/ru/mail/march/interactor/Interactor.kt @@ -1,9 +1,6 @@ package ru.mail.march.interactor -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext +import kotlinx.coroutines.* import ru.mail.march.channel.* import kotlin.coroutines.EmptyCoroutineContext @@ -26,4 +23,12 @@ abstract class Interactor { fun eventChannel(): DataChannel { return channelFactory.createEventChannel() } + + fun execute(dispatcher: CoroutineDispatcher = Dispatchers.IO, block: suspend CoroutineScope.() -> Unit): Job { + return interactorScope.launch { + withContext(dispatcher) { + block.invoke(this) + } + } + } } \ No newline at end of file