Последовательность запросов AJAX в наблюдаемых редуксах основывается на ответе первого, И индивидуально обрабатывает ошибки и действия по отправке

IMHO, консольные меню с таблицей очень хорошие. Они позволяют использовать постоянные данные (которые могут храниться в памяти только для чтения). Они управляются данными (вам не нужно добавлять код, чтобы добавить дополнительные параметры). «Двигатель» или драйвер можно тестировать один раз; если вы используете одну и ту же структуру, вы можете использовать одну функцию для обработки многих меню.

typedef void (*Menu_Processing_Function_Pointer)(void);

struct Menu_Option
{
  char choice;
  char const * p_selection_text;
  Menu_Procesing_Function_Pointer p_procesing_function;
};

void Process_Selection_One();
void Process_Selection_Two();

static const Menu_Option main_menu[] =
{
  {'1', "Option 1", Process_Selection_One},
  {'2', "Option 2", Process_Selection_Two},
};
static const size_t quantity_selections =
    sizeof(main_menu) / sizeof(main_menu[0]);

int main()
{
  static const char menu_title = 
    "\n"
    "------------------------------\n"
    "         Main Menu\n"
    "------------------------------\n"
    ;
  cout.write(menu_title, sizeof(menu_title) - 1);
  for (size_t i = 0; i < quantity_selections; ++i)
  {
    std::cout << main_menu[i].p_selection_text << "\n";
  }
  cout << "Enter selection, 0 to quit: ";
  char choice;
  cin >> choice;
  for (size_t i = 0; i < quantity_selections; ++i)
  {
     if (choice == main_menu[i].choice)
     {
       Menu_Processing_Function_Point p_function = main_menu[i].p_processing_function;
       (p_function)();
       break;
     }
  }
  return EXIT_SUCCESS;
}

Вам нужно будет выполнить цикл, когда выбор недействителен. Вышеупомянутая суть метода.

0
задан Aditya.Naik 19 January 2019 в 06:56
поделиться

1 ответ

Вероятно, вам следует использовать concatMap для второго запроса Ajax в псевдокоде:

export const deleteSettingsEpic = action$ => action$.pipe(
    ofType('DELETE_SETTINGSDATA'),
    switchMap(action$ => ajax.ajaxDelete(...)),
    concatMap(result => ajax.get(...))
    ),
);
0
ответ дан wilver 19 January 2019 в 06:56
поделиться
Другие вопросы по тегам:

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