Ну, это неправильная реализация использования наблюдаемой для начала.
В этом коде вы начинаете с создания новой наблюдаемой:
new Observable<any>(obs => {});
В этой наблюдаемой вы делаетеHTTP post запрос (возможно, для сохранения некоторых данных), и вы подписываетесь на него, чтобы получить значение его ответа:
new Observable<any>(obs => {
this.http.post(environment.API.PATIENT_FAMILLY_EDUCATION + "?isNew=true", patientEducation).subscribe(res => {});
});
В подписке вы копируете значение ответа в новый объект с помощью this.response = Object.assign(res);
Затем, наконец,через 500 мс (благодаря setTimeOut) вы отправляете ответ с помощью obs.next()
и завершаете наблюдаемое с помощью (очевидно) метода obs.complete()
.Все, что делает этот код, - это просто добавление 500 мс к почтовому запросу, , который уже является наблюдаемым , поэтому перенос запроса в новую наблюдаемую информацию бесполезен.
Для меня вы получите точнотот же результат, сделанный так:
public SavePatientEducationDetails(patientEducation: any): Observable<any> {
return this.http.post(environment.API.PATIENT_FAMILLY_EDUCATION + "?isNew=true", patientEducation);
}
Может быть, вы можете сказать, какова была первоначальная цель этого кода.