收到回发后刷新网页

时间:2014-08-28 15:06:59

标签: javascript php jquery api postback

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

根据其性质,图像处理需要一段时间才能完成。比方说3-6秒。

提交作业后,API会立即返回我处理过的图片的未来网址,但是为了3-6秒,该网址将返回404,因为图片尚未完成处理。

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

此时,我想向用户显示已处理的图像。

是否有技术会在回发进入时在用户浏览器中加载图像?

我知道可以使用Javascript轮询完成。例如。如果回发已经进入,则每2秒检查一次。

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

1 个答案:

答案 0 :(得分:1)

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

由于您有URL,因此您只需轮询S3以获取图像。这是一个例子:

https://coderwall.com/p/hy_qjw

此示例尝试从S3加载隐藏的图像。如果成功,它会在几秒钟内再次尝试(您可以调整setTimeout)。这可以用来等待Blitline完成,或者等待S3使图像可用。