Как передать полезную нагрузку действия другому оператору rxjs в избыточном-наблюдаемом? - PullRequest
0 голосов
/ 02 мая 2019

Я использую наблюдаемую при редуксе с оператором касания rxjs для инициализации события ipcRenderer.До этого я хочу отправить еще одно действие.Вопрос в том, как правильно передать полезную нагрузку оператору отвода?-

Примечание. Я хочу сохранить оператор tap в конце последовательности

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

import { ipcRenderer } from 'electron';
import { map, tap, ignoreElements } from 'rxjs/operators';
import { ofType } from 'redux-observable';
import { pipe } from 'rxjs';

import { togglePackageLoader } from 'models/ui/actions'
import { viewPackageStart} from '../actions';

// I want to pass payload to tap
/* togglePackageLoader returns {  
  type: 'TOGGLE_LOADER',
  payload: {
    loading: true,
    options: {
      opt1: value1,
    }
  }
}

// i want to avoid passing options to toggleLoader payload..
*/
const viewPackageEpic = pipe(
    ofType(viewPackageStart.type),
    map(({ payload }) => togglePackageLoader({
        loading: true,
        options: payload
    })),
    tap(({ payload: { options } }) => {
        ipcRenderer.send('npm-view', options)
    }),
    ignoreElements()
);

export { viewPackageEpic };

Я ожидал сначала отправить toggleLoader, а затем сделать вызов ipcRenderer

1 Ответ

0 голосов
/ 03 мая 2019

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

const viewPackageEpic = pipe(
    ofType(viewPackageStart.type),
    map(() => updatePackageLoader({
        loading: true
    })),
);

const viewPackageLoaderEpic = pipe(
    ofType(viewPackageStart.type),
    tap(({ payload: { options } }) => {
        ipcRenderer.send('npm-view', options)
    }),
    ignoreElements()
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...