मेरे पास एक सेवा getData() नीचे मेरी सेवा में है। यह एक अवलोकन योग्य देता है। एक और सेवा ApiService में एक विधि भी है() जो एक पर्यवेक्षण भी देता है।एसिंक कॉल में अवलोकन करने के लिए सदस्यता लेना काम नहीं कर रहा है [Angular2]
getData(args, parentKey?):any {
return new Observable(observer => {
this.apiService.get(args).subscribe(
response => {
observer.next({
data: response['data'],
status: ($.isEmptyObject(response) ? false : true)
});
},
error => console.log("error : ", error),
() => console.log("finished")
);
});
}
मैं में अतुल्यकालिक एपीआई इस GetData() विधि का पुन: उपयोग करने की कोशिश कर रहा हूँ मेरी घटक से किए जाने के लिए कहता है। नीचे देखें:
this.myService.getData({
url: 'apiUrl1',
method: 'Method1',
parameters: {}
}).subscribe(response => {
if (response['status']) {
console.log('Processed apiUrl1');
}
});
this.myService.getData({
url: 'apiUrl2',
method: 'Method2',
parameters: {}
}).subscribe(response => {
if (response['status']) {
console.log('Processed apiUrl2');
}
});
this.myService.getData({
url: 'apiUrl3',
method: 'Method3',
parameters: {}
}).subscribe(response => {
if (response['status']) {
console.log('Processed apiUrl3');
}
});
बग: लेकिन क्या होता है कि GetData-नमूदार हमेशा apiUrl3 में सदस्यता दी गई है है।
मुझे प्रत्येक getData() को अलग-अलग सदस्यता लेने की आवश्यकता है। क्या कोई व्यक्ति कृपा करके मेरी सहायता करेगा?
अपेक्षित परिणाम:
प्रसंस्कृत apiUrl1
प्रसंस्कृत apiUrl2
प्रसंस्कृत apiUrl3
मैं सभी स्टैक ओवरफ्लो स्पष्टीकरण और अन्य संसाधनों के माध्यम से पढ़ता हूं कि वास्तव में पर्यवेक्षकों और वादे क्या हैं। लेकिन यह मेरी एसिंक्रोनस कॉल के मामले में काम नहीं कर रहा है। क्या आप कृपया मदद कर सकते हैं कि मैं क्या गलत कर रहा हूं? – anusreemn