mapµÄ×÷Ó㺿ÉÒÔ½«Ò»ÖÖÊý¾ÝÀàÐÍ£¬×ª»»³ÉÁíÒ»ÖÖÊý¾ÝÀàÐÍ¡£ µã»÷ʼþdoSomeWork´¥·¢ doSomeWork(){ getObservable() //µÚÒ»²½£º×¼±¸Ô´Êý¾Ý .subscribeOn(Schedulers.io()) //ͨ¹ýmap·½·¨£¬¿ÉÒÔ½«Ô´Êý¾Ýת»»³ÉÄ¿±êÊý¾Ý¡£½«List<ApiUser>ת»»³ÉList<User> .map(Function<List<ApiUser>, List<User>>() { List<User> apply(List<ApiUser> apiUsers) Exception { //¾ßÌåµÄת»»·½Ê½£¬×îºóreturnÄ¿±êÊý¾Ý //½«List<ApiUser>ת»»³ÉList<User> return List<User>Êý¾Ý; } }) .observeOn(AndroidSchedulers.()) //µÃµ½Ä¿±êÊý¾ÝÁË£¬ÒªÔõô´¦Àí .subscribe(getObserver()); } //ÔÊý¾ÝµÄ»ñÈ¡ private Observable<List<ApiUser>> getObservable(){ return Observable.create(new ObservableOnSubscribe<List<ApiUser>>() { @Override public void subscribe(ObservableEmitter<List<ApiUser>> e) throws Exception { if(!e.isDisposed()){ //ÔÚonNext·½·¨ÖУ¬½«ÔÊý¾Ý¸ø¡°·¢É䡱³öÈ¥ e.onNext(ÔÊý¾ÝList<ApiUser>); Èç¹û²»µ÷ÓÃonComplete()·½·¨£¬ÄÇô¹Û²ìÕßµÄonComplete·½·¨ÊDz»»á±»µ÷ÓÃµÄ e.onComplete(); } } }); } private Observer<List<User>> getObserver(){ return new Observer<List<User>>() { @Override public void onSubscribe(Disposable d) { Log.e("map"," onSubscribe " + d.isDisposed()); } @Override public void onNext(List<User> users) { Ä¿±êÊý¾ÝµÄ´¦Àí } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }; }