我有一种方法可以执行 2 个独立的逻辑。我希望我可以同时运行它们......并且只有在这两个子方法都完成后才能继续。
我试图弄清楚async/await
语法,但我就是不明白。
这是代码:
public PewPew SomeMethod(Foo foo)
{
var cats = GetAllTheCats(foo);
var food = GetAllTheFood(foo);
return new PewPew
{
Cats = cats,
Food = food
};
}
private IList<Cat> GetAllTheCats(Foo foo)
{
// Do stuff, like hit the Db, spin around, dance, jump, etc...
// It all takes some time.
return cats;
}
private IList<Food> GetAllTheFood(Foo foo)
{
// Do more stuff, like hit the Db, nom nom noms...
// It all takes some time.
return food;
}
因此,对于上面的代码,我想说:去同时获取所有的猫和食物。一旦我们完成,然后返回一个新的PewPew
.
我很困惑,因为我不确定上面的哪些类是async
或返回 aTask
等。所有这些?只有两个私人的?我也猜想我需要利用该Task.WaitAll(tasks)
方法,但我不确定如何设置任务以同时运行。
建议,好心人?