Я только что заметил, что мои HTTP-вызовы больше не распределяются между компонентами.Я не уверен, с какой версии.
Уже проверил это решение: Наблюдаемый общий ресурс Angular2 не работает
, что еще больше усугубляет проблему (больше вызовов HTTP), яДолжен признаться, мне всегда было трудно понять rxjs.
Вот моя сервисная функция:
getSomeData(): Promise < any >
{
if(this.data) // should keep service from doing extra http for the same request
{
return Promise.resolve(this.data);
}
else
{
return this.http.post(this.createURL('getData',{}),JSON.stringify({}), this.createGetOptions())
.timeout(environment.timeout)
.share()
.map((response: Response) => {
return response;
}).toPromise();
}
}
Я звоню из разных компонентов
this.service.getSomeData().then((data: any) =>
{
if (data) {
...
createGetOptions
просто добавляет заголовки, такие как 'Content-Type': 'text/plain; charset=UTF-8'