如何处理“ iron-ajax”超时

时间:2018-07-10 17:02:40

标签: ajax polymer timeout

iron-ajax Web组件具有超时属性,但是在阅读了GitHub上的组件代码后,我不确定如何处理它。

<iron-ajax id="ajax"
  handle-as="json"
  last-response="{{response}}"
  method="get"
  timeout="5000"
  url="https://api.domain.com/">
</iron-ajax>

它会引发事件吗?

可以观察到吗?

当请求达到其超时限制时如何运行函数?

1 个答案:

答案 0 :(得分:2)

iron-ajax上的timeout属性是请求在自动终止之前可以花费的毫秒数。由于此超时是一个错误,因此iron-ajax元素将触发一个error事件,触发该事件可用来调用函数。例如:

<iron-ajax id="ajax"
  handle-as="json"
  last-response="{{response}}"
  method="get"
  timeout="5000"
  url="https://api.domain.com/"
  on-error="_showError">
</iron-ajax>

...

class MyElement extends Polymer.Element {
  static get is() { return 'my-ele'; }

  ...

  _showError(event, request) {
    // display error message
  }
}