initCreateJob = () => new Promise((resolve, reject) => { setTimeout(() => { this.spiderFormService.saveUserJob(this.spiderJobInfo).subscribe((res: Res) => { if (res.code === 1) { // val = res.data; resolve(res.data) // fn(this.spiderJobInfo.jobInfoId) }else{ // 提交異常 reject("Error code: " + JSON.stringify(res)) } }); }, 1000) } );
引入組件app
<app-spider-form #test1></app-spider-form> <app-image-check-form #test2></app-image-check-form>
export class parentComponent implements OnInit,AfterViewInit{ // 引用子組件 @ViewChild('test1', {static: false}) test1; @ViewChild('test2', {static: false}) test2; constructor() { } ngOnInit() { } ngAfterViewInit(){ // 子組件加載完畢觸發 this.initSpiderJob(); } initSpiderJob(){ forkJoin([ from(this.test1.initCreateJob()).pipe(catchError(error => of(`Bad Promise: ${error}`))), from(this.test2.initCreateJob()).pipe(catchError(error => of(error))) ]) .subscribe(results => { console.log("results" + JSON.stringify(results)) }); } }
我的博客 蝸牛異步