Something like this might work:
---- CODE BELOW ----
<iron-ajax auto url="/your/initial/endpoint" response="{{response}}"></iron-ajax>
<template is="dom-repeat" items="[[response.groups]]">
<iron-ajax auto url="[[_makeUrl(item, index)]]" on-response="_ajaxResponse"></iron-ajax>
</template>
<div hidden$="[[!_ajaxesComplete]]">
Loading...
</div>
<script>
Polymer({
....
properties: {
....
_responses: {
// used for data handled by part 3.
type: Array,
value: function() { return []; }
},
....
_ajaxesComplete: {
// for part 4.
type: Boolean,
computed: '_doneYet(response.groups, _responses)'
}
....
}
....
_makeUrl: function(item, index) {
// this caters for dynamic urls returned by part 1. for use by part 2.
return '/ajaxUrl/' + item;
},
....
_ajaxResponse: function(e) {
// this does the data handling for part 3.
this._responses.push(e.response);
}
....
_doneYet: function(groups, data) {
// handles part 4.
return groups.length === data.length;
}
....
});