我需要一些代码来让我知道异步线程何时完成。这是我正在制作的 Windows 手机应用程序。该应用程序是一个巴士跟踪器,用于显示实时发车情况,数据将从在线网页获取。
我的GetDataFeed
函数中有这行代码
// start the asynchronous request
IAsyncResult aResult = BusStopFeedRequest.BeginGetResponse(new AsyncCallback(HandleFeedData), myState);
这将触发我的HandleFeedData
函数,它将网站源代码保存到文本字符串变量中。
我的问题是我的手机应用程序上的文本框不会填充字符串的内容,因为字符串中还没有数据。这被调用,textbox1.Text = obj.GetText()
它应该在我的实例化类中返回私有字符串。
我已经研究过使用aResult.AsyncWaitHandle.WaitOne()
并尝试对这些方法进行轮询,aResult.IsCompleted()
但从我阅读并发现自己的内容来看,这些只是不起作用。WaitOne
引发意外错误,并且轮询处于永无止境IsCompleted
的循环中。
有没有人知道我可以做些什么来让我的函数等待异步请求完成,以便它更新我的类变量,以便我的文本框可以看到数据