rx-java
रेट्रोफिट और RxJava
खोज…
रेट्रोफिट और RxJava सेट करें
Retrofit2 कई प्लगेबल निष्पादन तंत्र के समर्थन के साथ आता है, उनमें से एक RxJava है।
RxJava के साथ रेट्रोफिट का उपयोग करने के लिए आपको सबसे पहले अपने प्रोजेक्ट में Retrofit RxJava एडॉप्टर को जोड़ना होगा:
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
तब आपको अपने रेट्रोफिट उदाहरण का निर्माण करते समय एडॉप्टर जोड़ने की आवश्यकता होती है:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com")
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
आपके इंटरफ़ेस में जब आप एपीआई को परिभाषित करते हैं तो रिटर्न का प्रकार Observable होना चाहिए जैसे:
public interface GitHubService {
@GET("users/{user}/repos")
Observable<List<Repo>> listRepos(@Path("user") String user);
}
आप Observable जगह Single भी इस्तेमाल कर सकते हैं।
धारावाहिक अनुरोध करना
धारावाहिक अनुरोध करते समय RxJava काम करता है। यदि आप एक रिक्वेस्ट से रिजल्ट का उपयोग करना चाहते हैं तो दूसरा बनाने के लिए आप flatMap ऑपरेटर का उपयोग कर सकते हैं:
api.getRepo(repoId).flatMap(repo -> api.getUser(repo.getOwnerId())
.subscribe(/*do something with the result*/);
समानांतर अनुरोध करना
आप समानांतर में अनुरोध करने और परिणामों को संयोजित करने के लिए zip ऑपरेटर का उपयोग कर सकते हैं जैसे:
Observable.zip(api.getRepo(repoId1), api.getRepo(repoId2), (repo1, repo2) ->
{
//here you can combine the results
}).subscribe(/*do something with the result*/);
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow