理解 RxJava 创建和 fromCallable 运算符
原文:https://www . geesforgeks . org/understanding-rxjava-create-and-from callable-operator/
在本文中,我们将学习 RxJava Create 和 fromCallable 运算符。我们可以根据所需技能在所需功能之间进行选择。我们经常在使用 RxJava 操作符时出错。让我们直说吧,这样我们就不会出错了。
结合实例,我们来学习以下操作。
- 创造
- fromcallabel
1。创建
应该创建 RxJava 操作符。
图像 1。RxJava 运算符。
构建运算符:使用函数从头开始创建一个可观察值。
使用创建操作符,我们可以完成一项工作,并一个接一个地发出值,直到操作完成。
我们来看一个例子:
Java 语言(一种计算机语言,尤用于创建网站)
Observable.create<String> { shooter ->
// do something
if (!shooter.isDisposed) {
shooter.onNext("GeeksforGeeks")
}
// do and emit
if (!shooter.isDisposed) {
shooter.onNext("GfG")
}
// on finish
if (!shooter.isDisposed) {
shooter.onComplete()
}
}
.subscribeOn(Schedulers.io())
.subscribe { item ->
Log.d("Android", "item : $item")
}
输出:
"GeeksforGeeks" "GfG"
这个操作符从零开始创建一个可观察值,但是即使在那之后,它一次只能拍摄一个项目,因此它返回一个项目!
图二。可调用的。
Java 语言(一种计算机语言,尤用于创建网站)
Observable.fromCallable<String> {
// perform a task and then return
return@fromCallable "Geeks for Geeks"
}
输出:
Geeks for Geeks
这并不意味着 fromCallable 等同于 Single。我们将在以后看到它真正的变化。他们两个都将继续推迟行动,除非他们做一些观察。这意味着它使任务变得“懒惰”
因此,以下是创建和从可调用操作符之间的主要区别:
- Create 可以产生几个东西,而 fromCallable 只能产生一个。
- 没有简单的方法可以看出 fromCallable 中的是否像在 Create 中一样存在。因此,如果它在一个项目被处理掉之后触发它,那么这个可抛出的项目将被处理到全局错误处理程序中。这意味着申请将被终止。
结论
我们可以在这里使用 RxJava Create 来解决这个问题,希望这篇文章能消除任何可能出现的疑问,并消除知识的迷雾。
版权属于:月萌API www.moonapi.com,转载请注明出处