gpt4 book ai didi

android - Observable.create() 和 Observable.fromCallable() 的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:15 30 4
gpt4 key购买 nike

假设我们使用 .create()SharedPrefs 获取一个通用的 Object:

return Observable.create(subscriber -> {
String json = sharedPreferences.getString(key, "");
T myClass = gson.fromJson(json, generic);
subscriber.onNext(myClass);
subscriber.onComplete();
});

并使用 .fromCallable():

return Observable.fromCallable(() -> {
String json = sharedPreferences.getString(key, "");
return gson.fromJson(json, generic);
});

如果我们在第一次从 Observable.create() 发出并使用 Observable.fromCallable() 后立即调用 onComplete() 有什么不同吗>?如果是这样,优点/缺点是什么?

最佳答案

Observable.create 让您发射多个项目,而 fromCallable 仅发射一个项目。

您应该使用后者,因为它更能表达具有单个元素序列的 Intent 并且开销略低。

缺点是您不能使用它来使用异步单元素源,而 create 让您可以将对 onNext 的调用延迟到稍后的时间点。

关于android - Observable.create() 和 Observable.fromCallable() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785961/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com