我有几个依赖远程资源返回结果的函数。 这个远程资源有很多错误或意外的响应,我无法改变。 有一系列函数,每个函数都取决于之前函数的结果。 每个功能的逻辑是不同的。
例如:
bool remoteFunction(string resource, string parameter = "")
{
// for example request
//for simplicity this is considered a request, but each function has different logic
return request.Url("example.com" + resource, parameter);
}
var firstResult = remoteFunction("a"); //1st step
var secondResult = remoteFunction("b", firstResult); //2nd step
var thirdResult = remoteFunction("c", secondResult); //3rd step
var fourthResult = remoteFunction("d", thirdResult); //4rth steo
我想做的是:
这样做的最佳设计是什么?
感谢您的帮助
澄清: 更清楚一点,我只想在函数抛出异常时返回序列。即: 如果第4个函数抛出异常,我必须回到第1个并从那里继续。
答案 0 :(得分:0)
目前还不清楚他们需要按顺序运行。这是代码
var firstResult;
var secondResult;
var thirdResult;
var fourthResult;
int start = 3;
for (int i = start; i < 4; i++)
{
switch (i)
{
case 0 :
firstResult = remoteFunction("a");
break;
case 1:
secondResult = remoteFunction("b", firstResult);
break;
case 2:
thirdResult = remoteFunction("c", secondResult);
break;
case 3:
fourthResult = remoteFunction("d", thirdResult);
break;
}
}