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 ответов

24 просмотра

> 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
Ну ок, вы правы, но я вам обяснил чем не подходит ...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта