I have this method:
    private async Task BackArrowTappedHandler()
    {
        Task<bool> sp = SavePageDataAsync();
        await Task.WhenAll(sp);
        var saveResult = sp.Result; 
        if (!saveResult)
            return;
        if (Device.RuntimePlatform is Device.iOS)
            await Navigation.PopModalAsync();
        else
            await Shell.Current.Navigation.PopAsync();
    }
Which calls a method that I may or may not want to override:
    public virtual async Task<bool> SavePageDataAsync()
    {
        return true;
    }
Here is a short example of how I was doing the override just to make it more clear:
    public async Task<bool> OnSavePageAsync()
    {
        var IsValueLess = false;
        if (daily < 20)
        {
            msg1 = "Minimum words";
            msg2 = "Please set a number greater than 20";
            IsValueLess = true;
        }
       
        var alertDeckPopup = new AlertPopup(msg2);
        await PopupNavigation.Instance.PushAsync(alertDeckPopup);
        if (IsValueLess)
            return false;
        else
            return true;
    }
What I want to do is to check the result of SavePageDataAsync and based on the result, return or continue.
The only idea I have so far is to use Task.WhenAll
Can someone tell me if there is a better way that I can do this or if this is the only way then is it a valid way to do the check?
This code is giving me an error as I do not know how to correctly call SavePageData and then check the return value. Can someone give me advice on how I can do this?
 
    