javascript - 一旦图像可用就动态加载图像

标签 javascript html image amazon-s3

好的,情况是这样的。我有一个网站,用户可以在其中创建新闻提要故事。该故事向服务发送请求,该服务拍摄照片并将其保存到 S3。在将图片保存到 S3 之前,用户会看到他们的新闻提要故事是用损坏的图像链接创建的。

是否有可能知道该图像何时保存到 S3,然后仅更新 UI 以显示当前显示的图像,而无需用户刷新页面,或者无需不断发送请求来检查图像是否可用?

最佳答案

是的,你有很多方法可以做到这一点,你可以使用 Promises 来存档,Promises 让你运行异步代码。当你向服务器请求图像时你仍然没有它来显示它,你需要一些时间,你可以做这样的事情(我不知道你用什么来到达服务器但我给你一个 axios 的例子:

因为 axios 通过 defa 返回一个 promise

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,或者 ES6 的 async/await,我认为 Promises 和 async/await 是最好的选择。

希望对你有帮助

关于javascript - 一旦图像可用就动态加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50192617/

相关文章:

php - 复选框重复

html - 我无法修复 Internet Explorer 中损坏的图像

javascript - JavaScript 中的 "name"变量有什么特别之处?

javascript - 如何使用 Footable row-toggler 来切换数据

javascript - 如何用javascript在div上播放动画

javascript - 防止使用回车键提交表单

javascript - 延迟加载 javascript 文件

javascript - 将不存在的元素添加到 DynamoDB 中的数组

iphone - iOS:如何从存储中加载图像

android - 使用 LoopJ Android syncHttp 从 https 下载图片资源