У меня есть служба Angular, которая позволяет мне загружать данные с помощью HttpClient.request(...) и возвращает данные как Observable.
В моем SignalStore ngrx я вызываю эти методы обслуживания в пределах rxMethod()s.
Один из моих методов обслуживания не имеет параметров. Поэтому вызывать его внутри rxMethod() не вариант, потому что rxMethod() требует параметра, будь то
статическое значение, сигнал или наблюдаемая величина в качестве входного аргумента
Так что это не сработает, потому что у меня нет параметра для вызова load():
withMethods((
store,
service = inject(SomeService),
) => ({
load: rxMethod(pipe(
switchMap(() => service.getAll$()
.pipe(
tap(models => {
store.initWithEntities(models);
}),
),
),
)),
}),
),
Какова наилучшая практика в этом случае? Я бы предпочел не использовать обычный метод SignalStore, потому что мне не хотелось бы возиться с управлением подписками.
Я добавил нерабочий пример





Судя по всему, передача void в качестве аргумента типа rxMethods работает. Однако, как и в моем случае, Эслинту это может не понравиться.
Итак, это будет работать:
withMethods((
store,
service = inject(SomeService),
) => ({
load: rxMethod<void>(pipe(
switchMap(() => service.getAll$()
.pipe(
tap(models => {
store.initWithEntities(models);
}),
),
),
)),
}),
),
Который затем можно вызвать без параметра, например: store.load()
Можете ли вы поделиться тем, что вы пытались/пытаетесь сделать?