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

Как вы кэшируете Http запросы ? Можно ли сделать что-то

вроде такого ?
$isRestApiAvailable = this.http.get(this.apiPath,{observe: 'response'}).pipe(
catchError((err ) => {
console.error(err);
return of(false);
}),
map((res: HttpResponse<Object>) => res.status === 200),
shareReplay(1, 5000),
);
$isRestApiAvailable.subscribe()...
Сейчас если подписываюсь на этот $isRestApiAvailable, то получаю ошибку:
EmptyError: no elements in sequence

16 ответов

27 просмотров

> EmptyError: no elements in sequence Где именно?

Roman Zigzag
в гварде

а что в нём там? Покажите весь код

Roman-Zigzag Автор вопроса
Oleg Safonov
а что в нём там? Покажите весь код

export const ServerCheckGuardFn: CanActivateChildFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => { const restApiService = inject(CrmRestApiService); const router = inject(Router); return restApiService.$isRestApiAvailable.pipe( take(1), map((isAvailable: boolean) => { if (!isAvailable) { return router.parseUrl(ERROR_ROUTE); } else { return true; } }) ); };

Roman-Zigzag Автор вопроса
Oleg Safonov
call stack куда указывает?

core.mjs:10592 ERROR Error: Uncaught (in promise): EmptyError: no elements in sequence Error at _super (createErrorClass.js:4:26) at new EmptyErrorImpl (EmptyError.js:3:5) at first.js:9:179 at throwIfEmpty.js:10:71 at OperatorSubscriber._complete (OperatorSubscriber.js:36:21) at OperatorSubscriber.complete (Subscriber.js:49:18) at OperatorSubscriber._complete (Subscriber.js:72:30) at OperatorSubscriber.complete (Subscriber.js:49:18) at OperatorSubscriber._complete (Subscriber.js:72:30) at OperatorSubscriber.complete (Subscriber.js:49:18) at resolvePromise (zone.js:1193:31) at resolvePromise (zone.js:1147:17) at zone.js:1260:17 at _ZoneDelegate.invokeTask (zone.js:402:31) at core.mjs:10735:55 at AsyncStackTaggingZoneSpec.onInvokeTask (core.mjs:10735:36) at _ZoneDelegate.invokeTask (zone.js:401:60) at Object.onInvokeTask (core.mjs:11048:33) at _ZoneDelegate.invokeTask (zone.js:401:60) at Zone.runTask (zone.js:173:47) вообще в zone.js

А что за subscribe тут?

Roman-Zigzag Автор вопроса
Oleg Safonov
А что за subscribe тут?

это просто пример как я использую

Тут кстати в случае ошибки упадёт на map, т.к. вы отдаёте of(false), а в map проверяете .status. first нигде не юзаете?

Roman-Zigzag Автор вопроса

нет, это походу гуарды так обрабатываются

Roman Zigzag
нет, это походу гуарды так обрабатываются

А че не кешировать по классике? В сервисе?

Roman-Zigzag Автор вопроса
Максим Федоров
А че не кешировать по классике? В сервисе?

потому что RxJs это должен уметь, shareReplay зачем тогда придумали... возможно guard юзает что-то вроде take(1) и подписывается каждый раз на observable, поэтому оно и тупит

точно?

Roman-Zigzag Автор вопроса
Ilya Chursin
точно?

Ну ок, вы правы, но я вам обяснил чем не подходит кеширование именно ответов

Roman Zigzag
Ну ок, вы правы, но я вам обяснил чем не подходит ...

ну... после уточнения кейса - я таки склонен согласиться

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта