¿Cómo puedo escribir una Promesa donde la respuesta proviene de un iron-ajax?
<iron-ajax id="listItems" method="GET" content-type="application/json" handle-as="json" last-response="{{items}}" on-error="handleErrorResponse"></iron-ajax> this.data = { get: function(sort, page, pageSize) { return new Promise(function(resolve, reject) { // Execute iron-ajax. //... // resolve(iron-ajax's response); }); } } };Está buscando listItem.generateRequest() , ya que devuelve el objeto iron-request que acompaña a iron-ajax, que a su vez proporciona una promesa, llamada request.completes .
https://www.webcomponents.org/element/PolymerElements/iron-ajax/iron-ajax#method-generateRequest
https://www.webcomponents.org/element/PolymerElements/iron-ajax/iron-request#property-completes
Modifiqué su ejemplo de código a continuación:
<iron-ajax id="listItems" method="GET" content-type="application/json" handle-as="json" last-response="{{items}}" on-error="handleErrorResponse"></iron-ajax> this.data = { get: function(sort, page, pageSize) { return this.$.listItems.generateRequest().completes; } } };Inspirado en el ejemplo más complejo en https://stackoverflow.com/a/37995462/2795627 . Felicitaciones a @akivajgordon.