0
當我嘗試添加一個別針到地圖時,應用程序停止。它不會繼續執行下一段代碼。只有當我從等待中調用DoWork時纔會發生這種情況;然而,不打電話等待不會暫停應用程序。Xamarin.Forms地圖不相處異步等待
通過halt,我的意思是它不會崩潰應用程序,它只是不執行下一行代碼,我仍然可以與應用程序進行交互。
我錯過了什麼或使用異步錯誤?
Map myMap;
public MyViewModel(Map map)
{
myMap = map;
// Causes crash
Task.Run(async() =>
{
await DoWork();
});
// Causes no crashes
//DoWork();
}
async Task<bool> DoWork()
{
var success = false;
Task<bool> task = null;
task = SomeTask();
if (await task)
{
var pin = MyPin();
myMap.Pins.Add(pin);
// This is never called when calling await Dowork(). Application stops.
myMap.MoveToRegion(MapSpan.FromCenterAndRadius(MyPosition(), Distance.FromMiles(5)));
success = true;
}
return success;
}
public Pin MyPin()
{
var pin = new Pin();
pin.Type = PinType.Place;
pin.Position = new Position(<latitude>, <longitude>);
return pin;
}
不能相信我錯過了! – MartDavious