В настоящее время у меня есть кнопка, при нажатии которой я хочу вызвать службу:
saveAssignment(formValues) {
if (this.rulesService.validate(3, 1)) {
// continue to save
console.log('trigger save');
this.assignmentService.saveAssignment(formValues).subscribe((data) => {
console.log('saved!');
});
} else {
alert('came in here instead');
}
}
служба правил:
validate(actionId: number, referenceId: number): boolean {
let hasErrors = false;
let result: any;
this.validateRulesAPI(3, 1).subscribe((data) => {
// some logic here will set hasErrors property to true/false
});
return hasErrors;
}
служба правила Я хочу, чтобы она возвращала логическое значение, будь топроверил параметры или нет, таким образом я могу использовать это снова, проблема в том, что порядок выключен, поскольку код возвращается до завершения вызова, это еще один способ организовать это, чтобы они ждали друг друга?так rulesService.validate будет ждать возврата bool, а затем продолжит вызывать saveAssignments, если он вернул true?в противном случае я вижу предупреждение («пришел сюда вместо»), а затем запускается проверочный код.