시작하는 동안 응용 프로그램에서 두 세트의 데이터를 가져와야하며 각각 비동기 메서드가 있습니다. 내가 하나씩 전화하면 두 번째 전화는 첫 번째 전화가 끝난 후에 만 전달됩니다.여러 비동기 메서드를 연속해서 호출하는 것이 맞습니까?
List<DataOne> DataCollectionOne;
List<DataTwo> DataCollectionTwo;
async void GetDatas()
{
if(sameCondOne)
DataCollectionOne = await GetDataOne();
if(sameCondTwo)
DataCollectionTwo = await GetDataTwo();
}
그래서 작업 호출로 랩핑했습니다.
void GetDatas()
{
if(sameCondOne)
Task.Run(() => RunDataOne());
if(sameCondTwo)
Task.Run(() => RunDataTwo());
}
async void RunDataOne()
{
DataCollectionOne = await GetDataOne();
}
async void RunDataTwo()
{
DataCollectionTwo = await GetDataTwo();
}
내가 제대로하고 있니?
:
orchestating 방법에 조건이 참하고 완료하기 위해 그들 모두를 기다릴 경우, 당신은 작업을 산란합니다 고맙습니다. 두 번째 옵션은 동일한 작업 인 경우에도 작동합니다. 나는 다른 일을한다. 둘째, 컬렉션은 일부 조건으로 채워집니다. 문제를 해결하기 위해 약간의 문제가 있습니다. – georgeci