Одиночный шаг рекурсивного вызова
Одиночный шаг рекурсивного вызова, строго говоря, не является цепочкой вызовов шага, и это также не рекомендуемый способ применения Nebula. Однако при необходимости и если это не приведёт к путанице в бизнес-логике, его можно использовать надлежащим образом. Этот метод заключается в создании только одного шага, который в своём Callback() снова вызывает свой собственный Emit(), а когда завершается — полностью определяется самим шагом. Псевдокод:
class StepOne
{
public:
E_CMD_STATUS Emit(...)
{
++m_iEmitNo;
switch (m_iEmitNo)
{
case 1:
return EmitFirst();
case 2:
return EmitSecond();
case 3:
return EmitThird();
}
}
E_CMD_STATUS Callback(...)
{
switch (m_iEmitNo)
{
case 1:
CallbackFirst(...);
return Emit();
case 2:
CallbackSecond(...);
return Emit();
case 3:
return CallbackThird(...);
}
}
E_CMD_STATUS Timeout(){...}
};
Заключение о цепочке вызовов шагов
Дизайн шага довольно изобретателен и предлагает различные способы комбинирования. Вышеупомянутая цепочка вызовов рекомендуется Nebula, но могут быть и другие комбинации, которые разработчики могут предложить официальному представителю Nebula. Кроме того, динамические комбинации цепочки вызовов шагов будут описаны в разделе «Цепочка».
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )