当我运行下面的代码时,checkCard函数会在getTimecard函数完成之前运行。
getTimecard() {
  this._service.getTimecard().subscribe(
  data => {
    this.sending = true;
    this.timecards = data;
  },
  err => {
    this.sending = false;
    console.error(err);
  },
  () => {
    this.sending = false;
  }
);
}
checkCards() {
  console.log('timecards', this.timecards);
  //code dependent on timecard data
}
async onSubmit() {
  await this.getTimecard();
  this.checkCards(); 
}为什么checkOverlap不等待getTimecard返回其数据?
发布于 2018-08-15 14:55:22
要使一个函数具有一定的可用性,该函数需要返回一个承诺。
loadTimecards() {
   return new Promise(resolve => {
     this.sending = true;
     this._service.getTimecard().subscribe(data => {
       this.sending = false;
       this.timecards = data;
       resolve();
     });
  });
}https://stackoverflow.com/questions/51860844
复制相似问题