У меня есть объект, который может содержать URL-адреса
class MyObject
(
var url_image:String? = null,
var url_document:String? = null,
var file_image:File? = null,
var file_document:File? = null
)
Также у меня есть метод для загрузки URL-адресов, этот метод возвращает Observable<File>
fun download_file(url:String): Observable<File>
{
//Some logic for creating file, downloading data from url and returning this file as Observable
}
Мне нужно создать метод где я передаю myObject, и при необходимости он загружает URL-адреса и, наконец, возвращает Observable<MyObject>
. Примерно так:
fun prepareForShare(obj: MyObject): Observable<MyObject>
{
return Observable.just(obj)
.map(
{
if (obj.url_image != null)
{
download_file(obj.url_image!!)
...
.subscribe(
{
obj.file_image = it
})
}
if (obj.url_document != null)
{
download_file(obj.url_image!!)
...
.subscribe(
{
obj.file_document = it
})
}
}))
}
Как правильно составить цепочку запросов?