Вам необходимо заключить вызов метода subscribe
в блок
suspendCancellableCoroutine< RxBleDevice>{ cont ->
//your code here
}
. В реализации обратного вызова subscribe
используйте cont.resume()
для возобновления сопрограммы с результатом и cont.resumeWithException
для возобновления ее с ошибкой.
Вы также можете связать отмену между сопрограммой и сканированием. Подробнее см. cont.invokeOnCancellation { }
.
API, который вы вызываете, выглядит как Rx, может быть, один из этих модулей поможет https://github.com/Kotlin/kotlinx.coroutines/blob/master/reactive/README.md
При поиске с помощью Google для него мой лучший выбор является этим инструментом: http://svn.apache.org/repos/asf/jackrabbit/sandbox/jackrabbit-jcr-import-export-tool/README.txt
Но, судя только из файла README, это не выглядит очень надежным.
Другая проблема состоит в том, что это требует, чтобы я знал имена файлов всех файлов, которые я хочу экспортировать заранее, который был бы надоедливым, начиная с моих основных критериев извлечения должен скопировать новые файлы, т.е., с помощью даты создания в качестве фильтра.
Идеальное решение позволило бы мне просмотреть файлы в репозитории как в регулярной файловой системе и использовать простые инструменты копии для извлечения данных.
Я сам разбираюсь в этом. Будет ли работать Session.exportSystemView () и Session.importXML ()? Очевидно, это позволит вам сериализовать / десериализовать поддерево как XML.
К сожалению, не так уж много универсальных JCR инструментов. В Слинге есть два jcr исследователя, один из которых основан на GWT, а другой на JS, но ни того, ни другого нет.