好的,情况就是这样。我有一个网站,用户可以在其中创建新闻Feed故事。该故事向服务发送请求,该服务拍照并将其保存到S3。在将图片保存到S3之前,用户会看到他们的新闻Feed故事是通过损坏的图片链接创建的。
是否可以知道该图像何时保存到S3,然后只更新UI以显示现在的图像而无需用户刷新页面,或者不经常发送请求以检查图像是否可用?
答案 0 :(得分:1)
是的,你有很多方法可以做到这一点,你可以使用Promises来存档,Promises让你运行同步代码。当您向服务器询问图像时,您仍然没有显示它,您需要一些时间,您可以做这样的事情(我不知道您使用什么来到达服务器但我给你一个axios的例子:
因为axios通过defa返回一个承诺
function reachServer() {
return axios.get('url');
}
function loadImage() {
Promise.resolve(reachServer())
.then((image) => {
//got the image
myImage = image;
})
.catch(() => {
// a error ocurred loading
})
}
这是一个关于如何存档的简单案例,你有很多其他的,你可以使用image.onload,或async / await与ES6,我认为Promises和async / await是最好的选择。
希望有所帮助