Nuxt 3 Server API 将进度报告回客户端

Nuxt 3 Server API Reporting Progress back to Client

提问人:user6756614 提问时间:10/22/2023 最后编辑:Brian Tompsett - 汤莱恩user6756614 更新时间:10/22/2023 访问量:28

问:

我有一个 Nuxt 3 Electron 应用程序,在服务器 API 文件夹中有一个 CSV 解析器端点,使用文件流解析和编写大型 CSV。

鉴于此类请求需要一段时间才能处理,我希望将进度报告给客户端,以便在自定义进度条中显示(基于从文件中解析的字节数与总字节数计算出的百分比)。

我正在使用 Nuxt Server API 端点,因为这让我可以评估 fs 和流式传输 NodeJS 模块,这些模块在浏览器中不可用。

我知道有些问题集中在使用 requests.get() 流上传或下载文件上,但这与我能理解的完全不同。

简单来说,我有一个 HTML 文件选择输入(因为它是一个电子应用程序)让我可以从浏览器访问文件的文件路径。然后,我将这些文件路径发布到服务器端点,以打开所选文件的读取和写入文件流(鉴于浏览器中无法访问 fs 文件流)。

我想我可以将进度百分比存储在解析器端点更新的变量中。然后,我可以创建另一个端点,客户端可以跟踪该端点以获取有关进度的更新信息。但是,我不清楚如何在不同的端点之间共享此变量。

我希望使用 Pinia,但这显然不能在服务器端使用,因为它在服务器之后加载。

有没有人有解决这个问题/替代方法的方法?

服务器 状态 进度条 nuxt3

评论


答: 暂无答案