Задать вопрос

Можно ли на angular/typescript сделать функцию, которая могла бы возвращать Promise если у неё было вызвано .then либо Observable, при подписке?

Можно ли сделать универсальную функцию, которая бы возвращала промис, если на ней запускают .then() либо же Observable, если на неё подпишутся или такое не делают, а лучше не заморачиваться и написать 2 разных функции?
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    Angular Developer
    5 месяцев
    Далее
  • Учебный центр IBS
    WEB-022 Разработка на Angular. Продвинутый уровень
    1 неделя
    Далее
  • Академия Eduson
    Frontend-разработчик
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@twolegs
Можно написать функцию, которая всегда возвращает Observable. Если необходимо получить промис - просто оборачиваете вызов функции в `firstValueFrom` или `lastValueFrom` из rxjs.

То, что вы изначально написали, можно решить расширенным Observable, что-то вроде (псевдокод)
class ObservableWithThen extends Observable {
  then(cb) {
    return firstValueFrom(this).then(cb);
  }
}


И в функции вместо обычного Observable создавать и возвращать ObservableWithThen
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы