如果我有一個異步方法的身體像這樣 -獲得當前任務實例在異步方法體
public async Task GetSomething() {
await SendText("hi");
await SendImage("bla.bmp");
}
我怎樣才能獲得任務目標之前將其返回給用戶時
中的await踢即..
public async Task GetSomething() {
myTasks.Add(Task.Current);
await SendText("hi");
await SendImage("bla.bmp");
//some processing
}
,這樣別的地方我可以做
await Task.WhenAll(myTasks);
Console.WriteLine("All tasks complete");
這是這樣,我可以等所有任務關停
「SendText」和「SendImage」的簽名是什麼? – oleksii
它沒有區別。這只是一些虛擬代碼來顯示GetSomething執行多個子操作。如果它更清楚,用Thread.Sleep(50000)代替。 – NoPyGod
是的。這些方法可以返回'void','Task'和'Task',如果它是'Task'或'Task ',那麼你可以重構代碼。您可以獲取任務對象並將其添加到單個數組中。 –
oleksii