Invoke StateHasChanged() only after asynchronous operation has completed
Referring to the code below:
private async void PublishDrawWithConfirmation() { var result = await DialogService.ShowMessageBox( "Publish Draw", "Once published, the draw will no longer be editable and will be open to entries. Are you sure?", yesText: "Publish", cancelText: "Cancel"); if (result == null) return; await DrawService.ActivateDraw(DrawId); Snackbar.Add("Draw has been published!", Severity.Success); StateHasChanged(); }
private async void PublishDrawWithConfirmation() { var result = await DialogService.ShowMessageBox( "Publish Draw", "Once published, the draw will no longer be editable and will be open to entries. Are you sure?", yesText: "Publish", cancelText: "Cancel"); if (result == null) return; await DrawService.ActivateDraw(DrawId); Snackbar.Add("Draw has been published!", Severity.Success); StateHasChanged(); }
My intent is to refresh the page after updating the database, in order to display the updated information. Based on the behaviour I am seeing, it looks as if
StateHasChanged()
StateHasChanged()
is invoked before the database is updated with
await DrawService.ActivateDraw(DrawId)
await DrawService.ActivateDraw(DrawId)
. What would be the correct way to refresh the page only after the