我从API获取结果后使用subscribe来执行代码行。这是我的代码
this.attRecService.getAgendaData(moment(this.viewDate).format('YYYY-MM')).subscribe(
resp => {
this.agendaData = resp;
for (let item of resp) {
if (item.schedule) {
for (let sched of item.schedule) {
this.events.push({
'start': new Date(moment(item.date).format('YYYY-MM-DD')),
'title': sched.title
});
}
}
}
},
() => {
console.log('display');
this.displayClockDetail();
}
);
但是在我尝试控制台的部分记录了 显示 这个词,似乎它不会进入该参数。有什么问题?
答案 0 :(得分:0)
此功能
() => {
console.log('display');
this.displayClockDetail();
}
只有当请求失败(发生一些错误)并且在它之前没有正确处理时,才会起作用。
如果希望函数在observable完成时起作用,则可以将第三个参数传递给subscribe
函数。
.subscibe(() => { ok }, () => { error }, () => { completed })
答案 1 :(得分:0)
在检入控制台后显示的消息
,尝试这样的事情 this.attRecService.getAgendaData(moment(this.viewDate).format('YYYY-MM'))
.subscribe((res: any) => {
if(res) {
for (let item of resp) {
if (item.schedule) {
for (let sched of item.schedule) {
this.events.push({
'start': new Date(moment(item.date).format('YYYY-MM-DD')),
'title': sched.title
});
}
}
}
console.log('display');
}
}, (error?: any) => {
console.log('error');
});