Intereting Posts
Почему у Kotlin есть два синтаксиса для lambdas / анонимных функций? Доступ к атрибуту карты Entry (Kotlin) Ожидается ли, что я могу вызвать функцию с объектом-приемником, передав объект-приемник в качестве первого аргумента? java.lang.ClassNotFoundException: com.intellij.junit5.JUnit5IdeaTestRunner, используя spek в kotlin Использование kotlin-stdlib 1.1.51, но загрузка kotlin-runtime 1.3 Почему диапазон повторного использования Dagger медленнее, чем Singleton? Параметры аннотации Java в Котлине Вызов общего метода на нескольких приемниках Объект базы данных Singleton с параметризованной инициализацией при запуске? Не может быть предоставлен без @ Предоставляет-аннотированный метод Вложить только определенные параметры в конструктор Как опустить параметры лямбда в Котлин? неразрешенная ссылка: запуск База данных андроида Kotlin: не может использовать java.lang.String для android.database.Cursor Проблема с инъекцией Kotlin + Dagger в зависимости от Android версии Android / SDK (?)

Как скомпилировать код Kotlin-JS с сопрограммами?

Я создал многоплатформенный проект Kotlin (JVM & JS), объявил ожидаемый класс и реализовал его:

// Common module: expect class Request(/* ... */) { suspend fun loadText(): String } // JS implementation: actual class Request actual constructor(/* ... */) { actual suspend fun loadText(): String = suspendCoroutine { continuation -> // ... } } 

Теперь я пытаюсь выполнить единичный тест с помощью kotlin.test , а для платформы JVM я просто использую runBlocking следующим образом:

 @Test fun sampleTest() { val req = Request(/* ... */) runBlocking { assertEquals( /* ... */ , req.loadText()) } } 

Как я могу воспроизвести аналогичную функциональность на платформе JS, если нет runBlocking ?