Я получил эту функцию в моем компоненте core:
isValid(value: any) {
// Do some stuff and return something based on the result
return false;
}
Что я передаю в other-component следующим образом:
<other-component (onBeforeAdding)="isValid($event)"></other-component>
И в other-component я получил эту функцию EventEmitter, которая должна работать перед другими вещами и возвращать значение, указывающее, что значение действительно или нет:
@Output() onBeforeAdding: EventEmitter<any> = new EventEmitter();
let isValid = this.onBeforeAdding.emit(value) || true;
if (isValid) {
// Do stuff
}
Проблема здесь в том, что функция EventEmitter не может вернуть значение, так как она асинхронна (хотя из rc2 кажется, что это необязательно, передавая true функции new EventEmitter? Даже при этом не будет исправлено это выпуск однако). Таким образом, isValid всегда будет истинным, независимо от того, что возвращает функция.
Как вернуть значение из функции EventEmitter?