मुझे लगता है कि यह हासिल करने के लिए कुछ आसान होना चाहिए लेकिन मुझे परेशानी हो रही है (अवधारणात्मक रूप से, मुझे लगता है) यह पता लगाने के लिए कि इसका सामना कैसे किया जाए।आरएक्सजेएस का उपयोग कर बैचिंग?
मेरे पास एक एपीआई है जो JSON ऑब्जेक्ट्स की एक सरणी देता है। मुझे इन ऑब्जेक्ट्स के माध्यम से कदम उठाने की ज़रूरत है, और, प्रत्येक ऑब्जेक्ट के लिए, एक और AJAX कॉल करें। मुद्दा यह है कि प्रत्येक AJAX कॉल को संभालने वाली प्रणाली एक समय में केवल दो सक्रिय कॉलों को संभाल सकती है (क्योंकि यह एक सीपीयू-गहन कार्य है जो डेस्कटॉप एप्लिकेशन में हुक करता है)।
मैं सोच रहा था कि मैं आरएक्सजेएस (या तो संस्करण 5 या 4 का उपयोग कर) का उपयोग करके इसे कैसे प्राप्त कर सकता हूं?
संपादित करें: इसके अतिरिक्त, एक साथ चलने वाले चरणों की एक श्रृंखला होना संभव है।
Rx.Observable.fromPromise(start())
.concatMap(arr => Rx.Observable.from(arr))
.concatMap(x => downloadFile(x))
.concatMap((entry) => processFile(entry))
.concatMap((entry) => convertFile(entry))
.concatMap((entry) => UploadFile(entry))
.subscribe(
data => console.log('data', new Date().getTime(), data),
error => logger.warn('err', error),
complete => logger.info('complete')
);
हालांकि कि काम करने के लिए प्रतीत नहीं होता: अर्थात
Downloading File: 1 Processing File: 1 Converting File: 1 Uploading File: 1 Downloading File: 2 Processing File: 2 Converting File: 2 Uploading File: 2 Downloading File: 3 Processing File: 3 Converting File: 3 Uploading File: 3
मैं की तरह कुछ कर रही कोशिश की है। DownloadFile, उदाहरण के लिए प्रक्रिया के लिए इंतजार नहीं करता हैफाइल, कन्वर्टफाइल और अपलोड सभी को पूरा करने के लिए फ़ाइल, बल्कि, अगले एक को पूरा होने के बाद अगली बार फिर से चलाया जाएगा।
http://xgrommx.github.io/rx-book/content/observable/observable_instance_methods/subscribe.html – cport1
@ cport1 - लिंक्ड उदाहरण एसिंक ऑपरेशन के किसी भी रूप की प्रतीक्षा किए बिना एक के बाद एक चलाता है। मैं जो पूछ रहा हूं उससे अलग है। – NRaf