Javascript 聚合物1.0+;iron图像-等待图像文件存在以避免404错误的最佳实践

Javascript 聚合物1.0+;iron图像-等待图像文件存在以避免404错误的最佳实践,javascript,image,polymer,polymer-1.0,Javascript,Image,Polymer,Polymer 1.0,我想知道polymer 1.0+的最佳实践是什么,使用iron映像加载另一个后端异步进程生成的文件。我希望iron图像等待后端进程完成创建图像文件,并显示占位符图像,直到它可以加载。目前,当后端进程仍在生成映像时,我间歇性地收到404错误 在过去,我会在一个计时器间隔内执行类似于下面的js函数……但我相信一定有更好的方法,而且这种方法没有被弃用(主线程上的同步XMLHttpRequest被弃用,因为它会对最终用户的体验产生有害影响) 是否有一些内置于iron映像功能中的功能我没有利用它们来处理此

我想知道polymer 1.0+的最佳实践是什么,使用iron映像加载另一个后端异步进程生成的文件。我希望iron图像等待后端进程完成创建图像文件,并显示占位符图像,直到它可以加载。目前,当后端进程仍在生成映像时,我间歇性地收到404错误

在过去,我会在一个计时器间隔内执行类似于下面的js函数……但我相信一定有更好的方法,而且这种方法没有被弃用(主线程上的同步XMLHttpRequest被弃用,因为它会对最终用户的体验产生有害影响)


是否有一些内置于iron映像功能中的功能我没有利用它们来处理此场景

您可以通过添加iron ajax轻松实现这一点。使用iron ajax处理对图像的请求,同时在组件中传递或显式定义占位符图像(如我在示例中所做的)。成功后,将新映像注入组件



您可以使用
占位符
属性:

/**
 * This image will be used as a background/placeholder until the src image has
 * loaded.  Use of a data-URI for placeholder is encouraged for instant rendering.
 */
placeholder: {
  type: String,
  value: null,
  observer: '_placeholderChanged'
},
样本:

<iron-image style="width:400px; height:400px;" placeholder="./loading.png"
      sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>

<iron-image style="width:400px; height:400px;" placeholder="./loading.png"
      sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>