首页 > 解决方案 > 如何在 Blazor 服务器端模拟延迟?

问题描述

我有一个 Blazor 服务器端应用程序,我将托管在离我的主要用户将使用的地方不那么近的服务器上,我想模拟某些功能是否可以在一些延迟下使用,或者延迟是否真的会影响它.

但是我无法在开发时测试延迟,并且我不想每次想要测试一些更改时都在服务器中运行构建。

我已经尝试了很多东西,比如减少 chrome 开发人员工具中的互联网连接,但这与来自遥远主机的延迟不同。

如何在 Blazor 服务器端模拟延迟?

标签: blazorblazor-server-side

解决方案


您可以在异步任务函数中使用 Task.Delay() 方法,就在获取一些数据之前或在执行您需要模拟的事情之前。

下一个示例是一个 blazor 组件,它在单击 Button 后假装从服务器加载消息(MessageFromServer 属性)。await Task.Delay 方法添加了额外的等待时间。

@MessageFromServer

<button @onclick="ElaborateDataOnServer">Load Data</button>

@code{
    public string MessageFromServer { get; set; } = string.Empty;

    public async Task ElaborateDataOnServer()
    {
        //simulate the waiting
        await Task.Delay(1000);
        MessageFromServer = "loaded from server";
    }
}

推荐阅读