redux-observable
में के बजाय isomporphic-fetch का उपयोग करना संभव है?रेडक्स-अवलोकन योग्य
उत्तर
(नोट: RX.DOM.ajax
RxJS v4 से है, और redux-observable
जो RxJS v5 की आवश्यकता के साथ काम नहीं करता है v5 में बराबर Rx.Observable.ajax
या import { ajax } from 'rxjs/observable/ajax';
है।)
यह वास्तव में किसी भी रूप में fetch()
उपयोग करने के लिए और साथ ही संभव है अन्य AJAX एपीआई; हालांकि कुछ दूसरों के मुकाबले आसान है!
fetch()
एपीआई एक Promise
, जो v5 RxJS देता है निर्मित के लिए समर्थन करते हैं। अधिकांश ऑपरेटर जो एक अवलोकन योग्य उम्मीद करते हैं, वे वादा का उपभोग कर सकते हैं (जैसे mergeMap
, switchMap
, आदि)। लेकिन अक्सर आप आरएक्स ऑपरेटर को अपने बाकी एपिक के साथ पास करने से पहले वादा करने के लिए आवेदन करना चाहते हैं, इसलिए आप प्रायः वादे को एक अवलोकन के अंदर लपेटना चाहेंगे।
आप Observable.from(promise)
यहाँ के साथ एक नमूदार में एक वादा लपेट कर सकते हैं एक उदाहरण है जहां मैं एक उपयोगकर्ता के लिए लाने, JSON उत्तर का अनुरोध है, तो एक नमूदार में वादा लपेट:
const api = {
fetchUser: id => {
const request = fetch(`https://jsonplaceholder.typicode.com/users/${id}`)
.then(response => response.json());
return Observable.from(request);
}
};
फिर आप अपने एपिक में उपभोग कर सकते हैं और अपने इच्छित ऑपरेटर को लागू कर सकते हैं:
const fetchUserEpic = action$ =>
action$.ofType(FETCH_USER)
.mergeMap(action =>
api.fetchUser(action.payload) // This returns our Observable wrapping the Promise
.map(payload => ({ type: FETCH_USER_FULFILLED, payload }))
);
यहां एक इस काम कर उदाहरण के साथ JSBin: https://jsbin.com/fuwaguk/edit?js,output
आप एपीआई कोड पर नियंत्रण है, तो आदर्श आप Observable.ajax
(या किसी अन्य प्रत्यक्ष आधारित AJAX utils) का प्रयोग करेंगे क्योंकि वादे रद्द नहीं किया जा सकता है। (इस लेखन के रूप में)
- 1. jQuery खींचने योग्य स्क्रॉल करने योग्य कंटेनर
- 2. वस्तुओं को देखने योग्य बनाने योग्य
- 3. सॉर्ट करने योग्य डब्ल्यू/चयन योग्य पाठ
- 4. संपादन योग्य और गैर-संपादन योग्य
- 5. हडोप में लिखने योग्य और लिखने योग्य?
- 6. 'फोकस करने योग्य' और 'क्लिक करने योग्य'
- 7. निष्पादन योग्य
- 8. निष्पादन योग्य
- 9. निष्पादन योग्य
- 10. निष्पादन योग्य
- 11. निष्पादन योग्य
- 12. निष्पादन योग्य
- 13. निष्पादन योग्य
- 14. निष्पादन योग्य
- 15. अवलोकन योग्य
- 16. निष्पादन योग्य
- 17. पार्ससेल योग्य
- 18. निष्पादन योग्य
- 19. संपादन योग्य
- 20. अवलोकन योग्य
- 21. निष्पादन योग्य
- 22. निष्पादन योग्य
- 23. निष्पादन योग्य
- 24. निष्पादन योग्य
- 25. jQuery सॉर्ट करने योग्य, ड्रॉप करने योग्य और खींचने योग्य एक साथ काम करने के लिए
- 26. सॉर्ट करने योग्य और ड्रॉप करने योग्य, ड्रॉप करने योग्य नहीं है, जब डोम करता है?
- 27. jQuery स्क्रॉल करने योग्य, सॉर्ट करने योग्य, फ़िल्टर करने योग्य तालिका
- 28. एचटीएमएल - इनपुट फ़ील्ड चुनने योग्य लेकिन बदलने योग्य नहीं
- 29. चयन योग्य लेकिन संपादन योग्य HTML टेक्स्ट फ़ील्ड
- 30. एंड्रॉइड: खींचने योग्य/चित्र को एक खींचने योग्य
धन्यवाद, जय, स्पष्टीकरण के लिए! – zatziky