Pull to refresh
0
0
Send message

Я спрашиваю потому что в полуоф репозитории такого семпла нет, видел только такой, без Ангуляра https://github.com/module-federation/module-federation-examples/tree/master/react-in-vue

Но класс если вы делали!

Насколько понимаю, нельзя сделать шеллом реакт приложение, а вот ангуляр с его роутингом привязывать как микрофронт? То есть решение исключительно для ангуляр команд?

ПС почему Modul Federation? Вроде как Module Federation

Да, Reactive context | RxAngular (rx-angular.io) - решает последствия проблемы (показ ошибки), но не причину (падение сети и подписок), хотя с ней будет попроще. Мое решение будет в следующей статье

На хорошем проекте такие вещи можно решить через кодогенератор на основе OpenApi схемы от бэкенда, используя например https://github.com/cyclosproject/ng-openapi-gen

  1. Откройте ваше демо

  2. Нажмите Run OK - то что должно успешно загрузить пользователя. Подписчик ожидает получить в случае успеха 1 запись с профилем, но так как ангуляр вызывает комплит для хттп вызова, а materialize сконвертирует комплит в ещё один next, то подписчик получит 2 вызова next в сабскрайбе

  3. Документацию я конечно же прочитал

    RxJS: When the source Observable emits complete, the output Observable will emit next as a Notification of type "complete", and then it will emit complete as well. 

    Angular: The full body has been received and delivered, no further events are possible. This request is complete.

  4. Я не имею в виду, что materialize дублирует любой next источника. Я говорю о том что в связке с хттп клиентом Ангуляра он будет делать дубликаты.

  5. Если вы все еще не понимаете почему materialize вызовет дважды next у подписчика Angular HttpClient то, наверное, действительно стоит закончить дискуссию.

Откройте свое демо, нажмите кнопку Run ОК и откройте консоль - будет два записи, а не одна.

Потому что Ангуляр с HttpClient тоже вызывает complete - вот демо. И materialize вызывает два раза next, что совсем не то что нужно при подписке.

Я изучил, но мне не нравится. Что со мной не так?

Полагаю то, что вы эксперт mol, а не Angular.

Шёл 2022 год, шаблоны всё ещё писали без подсветки синтаксиса. И выкладывали в виде скриншотов.

Подсветка везде есть, насколько вижу, да и код у меня через редактор хабра получался больше по размеру, поэтому скриншоты.

Ссылки на рабочий код, который можно скопировать, также везде присутствуют.

Полагаю имелся в виду eitherify оператор? Потому что сама структура данных отличается фактически всем :)

materialize вообще используется крайне редко, но вот например семпл в чем его отличие от eitherify - вместо 5 next + 1 complete будет значительно больше. Основное отличие в документации - When the source Observable emits error, the output will emit next as a Notification of type "error", and then complete. То есть на каждую ошибку вы будете опять делать complete вместо продолжения потока. Кроме того, ответ будет изначально одинаковый для разных HttpErrorCode, в то время как eitherify каждый может подправить под себя исходя из того, какой код пришел - 400, 401, 403, 500

Ссылка на stackblitz

Этот подход и есть пример из статьи, который мне не нравится.

  1. Он громоздкий как в темплейте, так и в коде

  2. Его придется вручную проверять в случае, когда на основе первых данных придется делать вызовы для загрузки следующих - if (error) else

  3. Придется постоянно держать в уме все случаи, когда надо менять флажки - тот же isLoading не может быть true в случае когда данные загружены, а модель это обычно позволяет.

    Дополню только что данная статья только про важность ошибок и способа работы с ними, а вот структурная директива с поддержкой лоадинга и прочего будет в следующей статье

Это будет в следующей статье, и там для этого будет и новый контейнер, и другой компонент. Текст постараюсь сегодня подправить, чтобы переход был понятен.

Information

Rating
Does not participate
Registered
Activity