私のルート モデルでは、2 つのリクエスト (前と最新) を送信する必要があり、応答で ID を取得して他の 2 つのリクエスト (baslineCpature と currentcapture) を送信します。両方のリクエストの応答を受け取ったら、他の 2 つのリクエスト (fiberHealthData、wavelengthsPerSectionData) を送信する必要があります。ember モデルが返されます (baslineCpature、currentcapture、fiberHealthData、wavelengthsPerSectionData )。ここで私が抱えている問題の 1 つは、baslineCpature と currentcapture の応答が得られたらすぐにテンプレートを更新したいということです。
これが私のコードです。誰かが私が間違っていることを教えていただければ幸いです。
model: function (params,transition) {
var promiseA=null;
var promiseB=null;
var promiseA1=null;
var promiseB1=null;
promiseA1 = Ember.RSVP.hash({
latest:this.store.findAll('latest'),
previous: this.store.findAll('previous'),
});
promiseA= promiseA1.then((promiseAResolved) => {
return Ember.RSVP.hash({
baselineCapture:self.store.find('capture', promiseAResolved.previous.get('firstObject.id')),
currentCapture: self.store.find('capture', promiseAResolved.latest.get('firstObject.id')),
});
});
promiseB= promiseA.then((promiseAResolved) => {
baselineId = promiseAResolved.baselineCapture.id;
currentId = promiseAResolved.currentCapture.id;
return Ember.RSVP.hash({
fiberHealthData:self.store.findAll('fiber-health',{ adapterOptions: {current: currentId, baseline: baselineId}}),
wavelengthsPerSectionData:self.store.findAll('wavelengths-per-section',{ adapterOptions: {current: currentId, baseline: baselineId}} )
});
});
//this should be retun of my model
return Ember.RSVP.hash({
baselineCapture:promiseA.baselineCapture,
currentCapture:promiseA.currentCapture,
fiberHealthData:promiseB.fiberHealthData,
wavelengthsPerSectionData:promiseB.wavelengthsPerSectionData,
});
}