gpt4 book ai didi

javascript - 在同步 AJAX 调用期间更新 GUI

转载 作者:行者123 更新时间:2023-11-28 21:10:53 26 4
gpt4 key购买 nike

我正在使用 Google Appengine 运行网络应用程序,但遇到了一些问题。我需要生成一个相当大的 CSV 文件并将其发送给客户端。由于最长超时时间为 60 秒,并且没有可写入的文件系统,因此我决定使用 SJAX(我猜是同步 AJAX)从服务器获取数据 block ,将它们连接起来,然后将其发送回服务器服务器将其作为 CSV 文件发送回客户端。很烦人。

无论如何,这需要很长时间,所以我想我应该使用进度条来检查已收到的 block 数和总数。问题是,由于我使用 SJAX,单独的 js 线程被阻塞。 setTimeout() 也会被阻止。任何人都知道有什么方法可以解决这个问题(GUI部分,我正在尝试找到一种更好的方法来单独处理文件下载)?

编辑:虽然我很感谢 Shay 为我指明了解决问题的正确方向,但我仍然很好奇是否有一种方法可以在 SJAX 调用期间模拟多线程。

最佳答案

我将回答有关 CSV 生成的部分,因为它是您遇到麻烦的根本原因。

您可以使用任务队列生成数据并将其保存到 blobstore 或 Google Cloud Storage。任务队列有 10 分钟的处理超时,希望有足够的时间来生成数据。

您的模式应该是:调用一个方法来开始生成数据,使用 pull 检查数据是否准备好(或使用 comet 的 channel ),如果准备好就下载它。

关于javascript - 在同步 AJAX 调用期间更新 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8700840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com