Ich habe eine Liste von Service-Anrufe, die ich alle zur gleichen Zeit anrufen kann, aber ich habe 1 anderen Anruf, der aufgerufen werden muss, und abgeschlossen, bevor die anderen abgefeuert werden . Ich habe dies eingerichtet, so dass die anderen Anrufe nicht vor dem .then(function() {})
Block des Anrufs aufgetreten sind. Wenn Sie die Chrome-Entwicklungstools überprüfen (und eine Bestätigung basierend auf dem Sql-Fehler erhalten), werden alle Aufrufe in der then-Klausel bereits ausgelöst. Was mache ich hier falsch?Winkelfeuerung Funktion in dann Klausel vor der ursprünglichen Funktion
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);
});
}
Und hier ist die partnerAddRepo.addExisting Funktion:
addExisting = (operationId: number, partnerId: number) => {
return this.$http.put(`my/path/to/operation/${operationId}/partner/${partnerId}`);
};
das Zeug in der executeSaves
, also, der die 4 verschiedenen Service-Anrufe enthält aufgerufen wird, bevor der Anruf partnerAddRepository.addExisting
gefeuert wird, warum?
Uh, kümmern Sie sich um den Downvote zu erklären. – ganders
Könnte es Timing sein? Sie drängen diese Versprechen in die Reihe, aber auch feuern, was auch immer die Versprechen zurückbringt. – lintmouse