8
मैं एकाधिक http कॉल का उपयोग कर स्थानीय संग्रहण में डेटा स्टोर करने की कोशिश कर रहा हूं। मैं फोर्कजॉइन का उपयोग तब तक प्रतीक्षा करता हूं जब तक कि सभी कॉल पूरी नहीं हो जातीं और फिर मैं अपनी Promise.then
कॉल श्रृंखला फिर से शुरू करना चाहता हूं। मैं यह कैसे करु?आरएक्सजेएस को एक वचन के लिए अवलोकन करने योग्य
updateCache() {
var cachesToUpdate;
return this.fetchServerTimestamps()
.then(res => {
var localTimestamps = this.getLocalTimestamps();
var serverTimestamps = this.getServerTimestamps();
//Compare timestamps and decide which cache data types to update
cachesToUpdate = this.cacheTypes.filter(function (cacheType) {
return localTimestamps ? localTimestamps[cacheType.timestamp] != serverTimestamps[cacheType.timestamp] : true;
});
}).then(res => {
//Request data and insert into cache
this.fetchData(cachesToUpdate)
.subscribe(res => {
res.forEach(function (item, index) {
this.insert(cachesToUpdate[index].messageType, JSON.stringify(item));
}.bind(this));
});
});
}
fetchData(cachesToUpdate): Observable<any> {
return forkJoin(cachesToUpdate.map(i => this.callservice.serverRead({ path: 'api/' + i.messageType })));
}
insert(key: string, value: string, compress = true) {
localStorage.setItem(key, compress ? LZString.compress(value) : value);
}
'आयात' आरएक्सजे/एड/ऑपरेटर/समझौता करने के लिए मत भूलना "; –