Вы должны прочитать наш разговор. Если нет, прочитайте сначала. то вы можете попробовать это решение.
Вы собираетесь вернуть observer
. И я считаю, что это может быть ваш fetch function
написан в некотором external service
.
fetch(){
return this.http.get(this._apiUrl) //.map(res => res.json()) .map(res => res.json()) .filter(x => x.length > 0) .delay(5000) .catch(this.handleError);
}
Итак, я хотел бы предложить, чтобы добавить его, прежде чем подписаться на возвращаемый наблюдатель, как это,
this.isLoading=true;
this.externalService.fetch.subscribe((result) =>{
this.result =result
},
(err)=>console.log(err),
()=>{console.log("Done")
this.isLoading=false;
});
}
проверить это для справки http://plnkr.co/edit/UMMFk57seNrxqdgyeQIT?p=preview
Не правда ли лучше использовать 'before', когда вы действительно подписываетесь на наблюдателя? – micronyks
Спасибо за подсказку. Я еще не сталкивался с этим оператором. У вас есть ссылка, которую я не мог найти? –
Нет, я не говорю об операторе. Я говорю о том месте. Когда вы подписываетесь на наблюдателя, вы можете использовать его перед подпиской или до того, как вы позвоните в службу. – micronyks