我有一個要執行的方法列表,其中一些是異步方法,他們需要一段時間才能完成。但是,在程序轉到下一個任務之前,我需要完成這些任務,因爲此時正在執行舊數據。C#等待任務完成
有關如何做到這一點的任何提示?這些是我的任務。我需要前三個任務才能在最後兩次執行前完成處理。
public MainPage()
{
this.InitializeComponent();
getTemp();
data = new initialData();
SetLiveTile();
liveTile();
}
PS:這是一個窗口8 metro應用
用於getTemp的代碼()如下。我的問題是,在執行剩餘的方法之前,但在獲取值之前,我需要此方法的值,程序繼續執行SetLiveTile和liveTile方法。
public async void getTemp()
{
var weatherService = new WeatherService.GlobalWeatherSoapClient();
var result = await weatherService.GetWeatherAsync("", "Malta");
XmlDocument doc = new XmlDocument();
doc.LoadXml(result);
int pos = doc.InnerText.IndexOf(" F");
string rem = doc.InnerText.Remove(0, pos + 4);
string weather = rem.Substring(0, 2);
temp = int.Parse(weather);
}
PS:溫度是一個全局變量
所以這些哪一個是awaitable? –
public async void getTemp()和initialData()利用從Facebook獲得的一些數據 –
在主頁面中調用方法:public MainPage() { this.InitializeComponent(); await getTemp(); data = new initialData(); SetLiveTile(); liveTile(); } –