在我的路线模型我需要发送两个请求(以前和最新),并在响应我抓住他们的ID发送两个其他请求(baslineCpature和currentcapture)。当我得到这两个请求的响应时,我需要发送两个其他请求(fiberHealthData,wavelengthPerSectionData)。应该返回的模型应该是(baslineCpature,currentcapture,fiberHealthData,wavelengthPerSectionData)。 我在这里有一个问题是,我想尽快更新我的模板,我得到了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,
});
}
您正在使用promiseA'和'promiseB'的'结果他们在你的最终散列已经解决了。 – Kingpin2k