我有一个getProgrammeWrapper
方法返回一个承诺。然而,在.then
方法,我有一些其他的承诺,相信我会想返回programmeWrapper[]
嵌套提示,不等待结果
我打电话ngOnInit
this.service.getProgrammesByWrapper().then(((res) => {
this.programmes = res;
this.result.updateInfo("Sorting classes...")
this.programmes =this.programmes.sort((a,b) => {
return b.programme.click - a.programme.click;
});
this.result.updateSuccess(true);
}));
的服务,我希望我有明确解释了这个问题。我尝试过使用await,但它不能按预期工作。
getProgrammeWrapper()
getProgrammesByWrapper(): Promise<ProgrammeWrapper[]> {
var current = this;
var programmesDTO = new Array<ProgrammeWrapper>();
var table = this.client.getTable("programme");
return new Promise((resolve, reject) => {
table.read()
.then(function (modules) {
modules.forEach(element => {
var newProgDTO = new ProgrammeWrapper(element);
current.getLessonsByProgrammeId(element.id).then(lessons => newProgDTO.lesson = lessons).catch(err => console.log(err));
current.getUser(element.tutorId).then(user => newProgDTO.tutor = user).catch(err => console.log(err));
programmesDTO.push(newProgDTO)
});
resolve(programmesDTO)
}, function (error) { reject(error) });
});
}
'resolve'做什么? – Shai
resolve返回在过程中填充的programmeDTO的数组。 – User1911
你可以发布getProgrammesByWrapper()的代码,而不是它的图像,所以我可以改变它的一些答案? – Shai