Наблюдаемые трубы - PullRequest
0 голосов
/ 23 января 2020

У меня вопрос о каналах наблюдаемых

предположим, у меня есть следующий код:

const skip$ = of(4);
const length$ = of(24);
const schoolId$ = of(1);

const source = combineLatest(skip$, length$, schoolId$).pipe(
  map(([skip, length]) => `skip: ${skip}, length: ${length}`),
  map(text => text ) // I need now schoolId, how can i get
);

на второй карте мне нужен schoolId. Как я могу получить schoolId, не делая этого:

const source = combineLatest(skip$, length$, schoolId$).pipe(
  map(([skip, length, schoolId]) => ({text: `skip: ${skip}, length: ${length}`, schoolId})),
  map(text => `${text.text}, schoolId: ${text.schoolId}` )
);

здесь у вас есть stackblitz , чтобы попробовать

1 Ответ

3 голосов
/ 23 января 2020

Как и во всех вещах ReactiveX, у вас есть много вариантов. Возможно, самым близким к тому, что у вас есть сейчас, будет использование withLatestFrom ...

const source = combineLatest(skip$, length$).pipe(
  map(([skip, length]) => (`skip: ${skip}, length: ${length}`)),
  withLatestFrom(schoolId$),
  map(([text, schoolId]) => `${text}, schoolId: ${schoolId}` )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...