RxJava v1.2.0 發布,一個實現異步操作的庫

RxJava一個在 Java VM 上使用可觀測的序列來組成異步的、基于事件的程序的庫。說到根上,它就是一個實現異步操作的庫,而別的定語都是基于這之上的。同樣是做異步,為什么人們用它,而不用現成的 AsyncTask / Handler / XXX / ... ?,原因是RxJava簡潔,異步操作很關鍵的一點是程序的簡潔性,因為在調度過程比較復雜的情況下,異步代碼經常會既難寫也難被讀懂。 Android 創造的 AsyncTask 和Handler ,其實都是為了讓異步代碼更加簡潔。RxJava 的優勢也是簡潔,但它的簡潔的與眾不同之處在于,隨著程序邏輯變得越來越復雜,它依然能夠保持簡潔。
更新日志
促進@Beta標準
- in
rx.Observablecreate(SyncOnSubscribe<S, T>)doOnRequest(Action1<Long>)flatMap(Func1<? super T, ? extends Observable<? extends R>>, Func1<? super Throwable, ? extends Observable<? extends R>>, Func0<? extends Observable<? extends R>>, int)flatMap(Func1<? super T, ? extends Observable<? extends R>>, int)flatMap(Func1<? super T, ? extends Observable<? extends U>>, Func2<? super T, ? super U, ? extends R>, int)flatMapIterable(Func1<? super T, ? extends Iterable<? extends R>>, int) rx.Observable.flatMapIterable(Func1<? super T, ? extends Iterable<? extends U>>, Func2<? super T, ? super U, ? extends R>, int)fromCallable(Callable<? extends T>)toSingle()
rx.Single(the class itself)fromCallable(Callable<? extends T>)
rx.SingleSubscriber<T>- in
rx.observables.ConnectableObservableautoConnect()autoConnect(int, Action1<? super Subscription>)autoConnect(int)
rx.observables.SyncOnSubscribe<S, T>- in
rx.subjects.AsyncSubjectgetThrowable()getValue()hasCompleted()hasThrowable()hasValue()
- in
rx.subjects.BehaviorSubjectgetThrowable()getValue()getValues()getValues(T[])hasCompleted()hasThrowable()hasValue()
- in
rx.subjects.PublishSubjectgetThrowable()hasCompleted()hasThrowable()
- in
rx.subjects.ReplaySubjectgetThrowable()getValue()getValues()getValues(T[])hasAnyValue()hasCompleted()hasThrowable()hasValue()size()
促進@Experimental到@Beta
rx.BackpressureOverflow- in
rx.ObservableconcatDelayError(Iterable<? extends Observable<? extends T>>)concatDelayError(Observable<? extends Observable<? extends T>>)concatEager(Iterable<? extends Observable<? extends T>>, int)concatEager(Iterable<? extends Observable<? extends T>>)concatEager(Observable<? extends Observable<? extends T>>, int)concatEager(Observable<? extends Observable<? extends T>>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>, Observable<? extends T>)concatEager(Observable<? extends T>, Observable<? extends T>)concatMapDelayError(Func1<? super T, ? extends Observable<? extends R>>)concatMapEager(Func1<? super T, ? extends Observable<? extends R>>, int, int)concatMapEager(Func1<? super T, ? extends Observable<? extends R>>, int)concatMapEager(Func1<? super T, ? extends Observable<? extends R>>)delaySubscription(Observable<U>)distinctUntilChanged(Func2<? super T, ? super T, Boolean>)mergeDelayError(Observable<? extends Observable<? extends T>>, int)onBackpressureBuffer(long, Action0, Strategy)switchMapDelayError(Func1<? super T, ? extends Observable<? extends R>>)switchOnNextDelayError(Observable<? extends Observable<? extends T>>)toCompletable()toSortedList(Func2<? super T, ? super T, Integer>, int)toSortedList(int)using(Func0<Resource>, Func1<? super Resource, ? extends Observable<? extends T>>, Action1<? super Resource>, boolean)
- in
rx.observables.BlockingObservablesubscribe()subscribe(Action1<? super T>, Action1<? super Throwable>, Action0)subscribe(Action1<? super T>, Action1<? super Throwable>)subscribe(Action1<? super T>)subscribe(Observer<? super T>)subscribe(Subscriber<? super T>)
rx.Completable- in
rx.Singledefer(Callable<Single<T>>)delay(long, TimeUnit, Scheduler)delay(long, TimeUnit)delaySubscription(Observable<?>)doAfterTerminate(Action0)doOnError(Action1<Throwable>)doOnSubscribe(Action0)doOnSuccess(Action1<? super T>)doOnUnsubscribe(Action0)lift(Operator<? extends R, ? super T>)onErrorResumeNext(Func1<Throwable, ? extends Single<? extends T>>)onErrorResumeNext(Single<? extends T>)toBlocking()toCompletable()using(Func0<Resource>, Func1<? super Resource, ? extends Single<? extends T>>, Action1<? super Resource>, boolean)using(Func0<Resource>, Func1<? super Resource, ? extends Single<? extends T>>, Action1<? super Resource>)
rx.exceptions.CompositeException.CompositeException(Throwable...)- in
rx.exceptions.ExceptionsthrowOrReport(Throwable, Observer<?>, Object)throwOrReport(Throwable, Observer<?>)throwOrReport(Throwable, SingleSubscriber<?>)rx.singles.BlockingSingle<T>
去除
- in
rx.Observableextend(Func1<OnSubscribe<T>, R>): useto(Func1)insteadfromAsync(): renamed tofromEmitter()
- in
rx.CompletableCompletableSubscriber: nowrx.CompletableSubscriberCompletableOnSubscribe: renamed toCompletable.OnSubscribeCompletableOperator: renamed toCompletable.OperatorCompletableTransformer: renamed toCompletable.Transformer
下載
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/1f736dbf
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!

