169 похожих чатов

А подскажите по rxjs оператору from если я им

оборачиваю промис, мне не надо отписку добавлять?
from(new Promise(resolve => resolve('Hello World!'))).pipe(take(1)).subscribe()

17 ответов

8 просмотров

first() или take(1) не нужен, но отписываться от самого стрима желательно/необходимо (через takeUntil например)

Если вы хотите использовать Promise, то вместо оператора from нужно использовать оператор defer. Если использовать from, то Promise создастся сразу и закэшируется. Если использовать defer, то Promise будет создаваться только при подписке. И отписываться нужно всегда, когда подписка больше не нужна.

Aleksandr-Terentev Автор вопроса
Aleksandr Terentev
а как takeUntil сюда прикрутить

Перед .subscribe поставить .pipe(takeUntil...

Aleksandr-Terentev Автор вопроса
N A
Перед .subscribe поставить .pipe(takeUntil...

а что в аргумент takeUnit передать, вот в чем вопрос

Aleksandr-Terentev Автор вопроса
Aleksandr Terentev
а что в аргумент takeUnit передать, вот в чем вопр...

мне можно уже отписываться когда промис зарезолвился или зареджектился. не пойму что в таком случае takeUntil в аргумент закинуть

Aleksandr Terentev
а что в аргумент takeUnit передать, вот в чем вопр...

обычно передают subject, который отписывается при дестрое

Aleksandr Terentev
мне можно уже отписываться когда промис зарезолвил...

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

Aleksandr Terentev
ну это если компонент

а в сервисах не должно быть подписок

Denis Makarov
а в сервисах не должно быть подписок

Если память не изменяет в сервисах тоже OnDestroy есть

N A
Если память не изменяет в сервисах тоже OnDestroy ...

Не встречал такого, ссылки на документацию есть?

N A
Если память не изменяет в сервисах тоже OnDestroy ...

есть, но это не отменяет того, что в сервисах не должно быть подписок

Aleksandr-Terentev Автор вопроса
Aleksandr Terentev
а при reject тоже закомплитится?

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

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

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта