初始化不等待异步方法(xamarin.forms)

时间:2017-08-04 16:39:08

标签: c# xamarin.forms async-await

我需要其他代码行等待 getUserLocal 完成其工作并将值返回到它们运行,主要是 InitializeComponent(); 。 我使用等待但似乎无法正常工作,当组件初始化时,我还没有 getUserLocal 结果......

这是我视图的构造函数

 public ComoChegarView(double lat, double longi)
    {
        userLocal = new Localizacao();
        getUserLocal();
        Localizacao lojaLocal =  new Localizacao();
        lojaLocal.latitude = lat;
        lojaLocal.longitude = longi;

        InitializeComponent();
     }

这是异步任务

 async Task getUserLocal()
    {
        userLocal =  await Geolocator.GetUserLocationAsync();
    }

有人知道我该怎么做吗?

1 个答案:

答案 0 :(得分:0)

您无法从构造函数中调用async方法,当您无法将构造函数标记为async时,这应该更加明显,这会导致您无法await async方法的结果{。}}。