BuildIt.Lifecycle.FormsUIContext.RunOnUIThreadAsync C# (CSharp) Method

RunOnUIThreadAsync() public method

public RunOnUIThreadAsync ( Func action ) : Task
action Func
return Task
        public async Task RunOnUIThreadAsync(Func<Task> action)
        {
            var waiter = new ManualResetEvent(false);

            Xamarin.Forms.Device.BeginInvokeOnMainThread(async () =>
            {
                await action();
                waiter.Set();
            });
            await Task.Run(() => waiter.WaitOne());



            //Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            //{
            //    //  var waiter = new ManualResetEvent(false);
            //    action().Wait();
            //    //waiter.Set();
            //});
            ////await Task.Run(() => waiter.WaitOne());
        }
FormsUIContext