Here what I've done. Probably can be optimized or done differently. I am opened for other suggestions
onPageLoaded() {
this.refresh();
}
refresh() {
return new Promise((resolve, reject) => {
Observable.forkJoin(
this._service1.retrieveData(),
this._service2.retrieveData(),
this._service3.retrieveData()
).subscribe(
data => {
...
});
}
doRefresh(refresher) {
this.refresh().then((success) => refresher.complete(), (error)=> refresher.complete());
}