Обещание с ответом 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.

Другие вопросы по тегам