If you need something like JavaScript’s setTimeout in Blazor, you can achieve the same thing with a System.Threading.Timer. Just remember to execute any code that alters state of your Blazor components inside an InvokeAsync call.
<div>The time sponsored by Accurist is @Time</div>
@code
{
private string Time { get; set; }
protected override void OnInit()
{
base.OnInit();
var timer = new System.Threading.Timer((_) => {
InvokeAsync(() => {
Time = DateTime.UtcNow.ToString();
StateHasChanged();
});
}, null, 0, 1000);
}
} 
Comments