javascript - 收到回发后刷新网页

标签 javascript php jquery api postback

我正在使用图像处理 API。 (Blitline)

就其本质而言,图像处理需要一段时间才能完成。假设 3 - 6 秒。

提交作业后,API 立即返回我处理的图像的 future url,但在 3 - 6 秒内,该 url 将返回 404,因为图像尚未完成处理。

一旦作业完成,Blitline 服务就会向我服务器上的 PHP 脚本发送回发,告诉我它已完成。

此时,我想向用户展示处理后的图像。

是否有一种技术可以在回发时将图像加载到用户浏览器中?

我知道这可以通过 Javascript 轮询来完成。例如。每 2 秒检查一次回发是否已到来。

但我想知道是否有更现代的方法来做到这一点?

最佳答案

另一个必须处理的问题是 S3 延迟。仅仅因为图像被上传到 S3 并且 S3 已响应它已收到,并不意味着该图像将立即公开可用。虽然它通常在几毫秒内可用,但有时可能会延长到几秒钟。

既然您有了 URL,您就可以轮询 S3 来获取图像。这是一个例子:

https://coderwall.com/p/hy_qjw

此示例尝试从 S3 加载隐藏图像。如果成功,它会在几秒钟后再次尝试(您可以调整 setTimeout)。无论您是等待 Blitline 完成,还是等待 S3 使图像可用,这都会起作用。

关于javascript - 收到回发后刷新网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552187/

相关文章:

php - 导出pdf表格数据导入mysql

php - 修复 PHP 中的字符

javascript - 如何在特定度数下获取Javascript中椭圆的边缘坐标?

javascript - 使用数据绑定(bind)加载 requirejs 模块(knockout.js)?

javascript:获取div的高度并在其他div中使用它

php - 在 PHP Core 中将现有字符串日期转换为 'm/j/Y'

javascript - 带有换行符的 React/Momentjs 日期格式

php - Jquery 使用 $.post 函数进行实时输入验证

javascript - 使用 JQuery 和 Javascript 获取 json 并解析它的最简单方法?

javascript - 如何使用jQuery的drop事件上传从桌面拖拽的文件?