Я бы не советовал делать это , если вы не знаете, что делаете ...
Кроме того, если вы создаете этот сервис-обертку просто для сервиса-загрузчика. Попробуйте вместо этого использовать угловой перехватчик. Перехватчик обнаружит запрос http и отобразит ваш загрузчик. Прочитайте эту среднюю статью / руководство: Панель загрузчика при каждом HTTP-запросе на угловом языке 6
В настоящее время ваша «оболочка» допускает только URL-ссылку, HttpParams, body и переменную загрузчикабыть переданы в качестве аргументов. Вы начнете сталкиваться с проблемами, когда вам нужно будет интегрировать другие конечные точки API, для которых требуется указать конкретный HttpHeaders
или иметь другой responseType
, такой как «текст». В конечном итоге вам придется снова и снова изменять службу оболочки и тратить много времени просто на сохранение нескольких строк кода.
Или вы можете просто попытаться сделатьпросто получить запрос без желания звонить parseDateToTimeStamp()
. Вы не можете сделать это с помощью службы оболочки .
Или, что если вы захотите сделать запрос HEAD
, то в конечном итоге вам придется изменить службу оболочки или использовать комбинацию службы оболочки и оригинальный пакет HttpClient
в вашем приложении, который, я думаю, просто пахнет кодом.
Вам лучше просто использовать пакет HttpClient как есть.
Вместо этого вы можете создатьновый файл .ts, возможно, назовите его DateTimeHelper.ts
или чем-то другим и экспортируйте в него parseDateToTimeStamp()
следующим образом:
export function parseDateToTimeStamp(){}
Затем импортируйте эту функцию в любые сервисные функциичто вам нужно использовать.
При этом вам нужно будет абстрагировать следующую часть вашего кода также в отдельную функцию (что-то вроде этого):
export function updateMyParams(httpParams: HttpParams){ //or some identifier that you prefer
const updatedParams = this.parseDateToTimeStamp(httpParams);
console.log(updatedParams, '--------------');
if (loader) {
this._loaderService.loader.next(loader);
}
for (let item in httpParams) {
if (
httpParams[item] === '' ||
httpParams[item] === undefined ||
httpParams[item] === null
) {
delete httpParams[item];
}
}
const header = {};
if (httpParams) {
header['params'] = updatedParams;
}
}
You 'Только после этого придется повторно импортировать эти 2 функции для служб, которые вам необходимы.