동시에 호출 할 수있는 서비스 호출 목록이 있지만 다른 호출이 호출되기 전에 반드시 호출되어야하는 다른 호출이 하나 있습니다 . 다른 전화가 .then(function() {})
통화 차단 때까지 발생하지 않도록 설정했습니다. Chrome Dev Tools를 확인하고 Sql 오류를 기반으로 확인을하면 then 절의 모든 호출이 실행됩니다. 여기서 내가 뭘 잘못하고 있니?원래 함수 앞에있는 then 절의 각도 점화 함수
var promises = [];
if (this.partner.customerId > 0) {
if (this.isDirty('ipn.individualPartnerName')) {
promises.push(this.partnerEditService.updateIndividualName(<Interfaces.IIndividualPartner>this.partner));
}
if (this.isDirty('bpa.mailingAddressForm') || this.isDirty('bpa.streetAddressForm')) {
promises.push(this.partnerEditService.updateAddresses(this.partner));
}
if (this.isDirty('bn.businessName')) {
promises.push(this.partnerEditService.updateBusinessName(<Interfaces.IBusinessPartner>this.partner));
}
if (this.isDirty('rc.individualPartnerResponsibilities') || this.isDirty('rc.businessPartnerResponsibilities')) {
promises.push(this.partnerEditService.updateResponsibilities(this.operation, this.partner));
}
}
this.partnerAddRepository.addExisting(this.operation.operationId, this.partner.customerId)
.then(() => {
this.executeSaves(promises);
});
executeSaves = (promises) => {
this.$q.all(promises)
.finally(() => {
this.$mdDialog.hide(this.partner);
});
}
그리고 여기에는 partnerAddRepo.addExisting 기능입니다 :
partnerAddRepository.addExisting
호출이 발사되기 전에 그래서, 4 가지 서비스 호출을 포함하는
executeSaves
의 물건이라고하고있다
addExisting = (operationId: number, partnerId: number) => {
return this.$http.put(`my/path/to/operation/${operationId}/partner/${partnerId}`);
};
, 왜?
어, 아래쪽 설명을주의하십시오. – ganders
타이밍이 될 수 있습니까? 약속을 배열로 밀어 넣을뿐 아니라 약속을 되 돌리는 모든 것을 발사합니다. – lintmouse