: -
Runner - 1
Runner - 2
, , , . , dll zip .
, 2 , , . : -
void StuffToDo()
{
doFirstGet(someParams);
doSecondGet(someParams);
doThirdGet(...);
}
- "do", AsyncOperation. , , : -
void doFirst(someParams, Action callback)
{
SomeAsyncObj thing = new SomeAsyncObj();
thing.OnCompleted += (s, args) { callback() };
thing.DoSomethingAsync();
}
: -
AsyncOperation doFirst(someParams)
{
return (completed) =>
{
SomeAsyncObj thing = new SomeAsyncObj();
thing.OnCompleted += (s, args) =>
{
try
{
completed(null);
}
catch (Exception err)
{
completed(err);
}
};
thing.DoSomethingAsync(source);
};
}
- : -
IEnumerable<AsyncOperation> StuffToDo()
{
yield return doFirstGet(someParams);
yield return doSecondGet(someParams);
yield return doThirdGet(...);
}
, StuffToDo : -
StuffToDo().Run((err) =>
{
// report any error in err sensibly
});