我在android和ios端有两个应用程序。两个应用程序都使用阿波罗图形库。所以我决定把它用在kotlin多图书馆项目上。这种用法一切都很好。
suspend fun addFeedback(request: AddFeedBackRequest): BaseResponseModel<Any> {
val feedBackType = if (request.type == AddFeedBackType.Bug) {
FeedbackType.BUG
} else {
FeedbackType.FEEDBACK
}
val input = AddFeedbackInput(request.note, Optional.presentIfNotNull(feedBackType))
val mutation = AddFeedbackMutation(input)
val response = executeMutation(mutation)
if (response.isFailed()) return onError()
return onSuccess()
}
当我想在android应用程序上使用这个方法时,我可以这样使用它
lifecycleScope.launch {
HelpRepository().addFeedback(AddFeedBackRequest(AddFeedBackType.Bug, ""))
}
我一直在寻找我找到的可观察的模式[https://github.com/badoo/Reaktive[1](https://github.com/badoo/Reaktive.]
可观察的rx kotlin用法库
例如,我想在android端使用addFeedBack方法,如下所示
HelpRepository()
.addFeedback()
.onSuccess { response ->
}
.onLoading { state ->
}
.onError { err ->
}
最近两天,我搜索了这座建筑,但是我什么也找不到了。任何你可以帮助的主题或例子项目?
谢谢你这么说
发布于 2022-06-22 19:31:23
如果要使用Reaktive,可以执行以下操作:
com.badoo.reaktive:reaktive:<version>
、com.badoo.reaktive:coroutines-interop:<version>
fun addFeedback(request: AddFeedBackRequest): Single<T>
singleFromCoroutine {}
函数将挂起调用executeMutation
包装为Single<T>
val disposable = HelpRepository()
.addFeedback()
.doOnBeforeSubscribe { /* Loading started */ }
.subscribe(
onSuccess = { response -> },
onError = { e -> }
)
https://stackoverflow.com/questions/72708494
复制相似问题