首页 > 解决方案 > 如何在 Blazor WebAssembly 中实现外部异步操作完成?

问题描述

我正在寻找关于如何在 Blazor WebAssembly 中实现外部异步操作完成的高级描述,我最感兴趣的是它如何用于计时器(Task.Delay等)和 JS 互操作。

我知道 Blazor WASM 是单线程的,所以肯定有一些事件循环,或者甚至可能是调用 WASM 代码的 JS 事件循环,它会暂时激活 WASM 事件循环/.NET 线程池事件循环。但是,问题是:一旦 .NET 线程池工作项队列变空会发生什么 - 即现在没有更多任务要继续,但它们预计会在未来弹出(由于计时器和 JS 互操作调用) ? 我看到的一些选项是:

总的来说,我想知道这实际上是如何工作的。高层次的描述已经足够了,不过如果你没有太多时间来写它,源代码的链接也可以。

标签: blazorthreadpoolblazor-client-sideblazor-webassembly

解决方案


推荐阅读