Обещание с ответом Iron-Ajax
Как я могу написать Обещание, где ответ исходит от 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);
});
}
}
};
1 ответ
Решение
Ты ищешь listItem.generateRequest()
, так как он возвращает сопроводительный объект iron-request, который, в свою очередь, предоставляет обещание, называемое iron-ajax. request.completes
,
https://www.webcomponents.org/element/PolymerElements/iron-ajax/iron-ajax
https://www.webcomponents.org/element/PolymerElements/iron-ajax/iron-request
Я изменил ваш пример кода ниже:
<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;
}
}
};
Вдохновлен более сложным примером на /questions/26754482/polimernyij-zhelezo-ayaks-i-asinhronnyie-zaprosyi-sinhronizatsiya-etag-i-obrabotka-otvetov/26754493#26754493. Слава @akivajgordon.